Моя коллекция Coll являетсяПолучить несколько объектов из массива в различных документах MongoDb
/* 1 */
{
"_id" : ObjectId("566121aa4b88d840eb7d1c50"),
"batchCourseId" : ObjectId("566122ab94b792fbdf81bcf3"),
"array" : [
{
"id" : 1
},
{
"id" : 2
},
{
"id" : 3
},
{
"id" : 4
}
]
}
/* 2 */
{
"_id" : ObjectId("5661224a4b88d840eb7d1c51"),
"batchCourseId" : ObjectId("566122ab94b792fbdf81bcf3"),
"array" : [
{
"id" : 1
},
{
"id" : 7
},
{
"id" : 3
},
{
"id" : 5
}
]
}
то, что мне нужно, чтобы тянуть объекты в массиве «массив», где batchCourseId = ObjectId («566122ab94b792fbdf81bcf3»)
и 2<array.id<=5
ожидается выход
/* 1 */
{
"_id" : ObjectId("566121aa4b88d840eb7d1c50"),
"array" : [
{
"id" : 3
},
{
"id" : 4
}
]
}
/* 2 */
{
"_id" : ObjectId("5661224a4b88d840eb7d1c51"),
"array" : [
{
"id" : 3
},
{
"id" : 5
}
]
}
уже пытались
db.coll.find({"batchCourseId" : ObjectId("566122ab94b792fbdf81bcf3")},
{ array: { $elemMatch: { id: { $gt: 2,$lte: 5} } } })
выход подобен
/* 1 */
{
"_id" : ObjectId("566121aa4b88d840eb7d1c50"),
"array" : [
{
"id" : 3
}
]
}
/* 2 */
{
"_id" : ObjectId("5661224a4b88d840eb7d1c51"),
"array" : [
{
"id" : 3
}
]
}
близко, но только первый объект согласования в массиве находится в результате
FYI этого единственного набора выборки данных исходные данные более сложные и большие в подсчете
поэтому pls препятствуют мне знать самое лучшее для того чтобы сделать это, представление также важно
заблаговременно
Это может помочь вам: [запрос к извлекаемому-множественным объектам-в-ап- array-in-mongodb] (http://stackoverflow.com/questions/27937620/query-to-retrieve-multiple-objects-in-an-array-in-mongodb) – manojpt