Имея следующий документ в моем Mongo, я пытаюсь получить объект с указанным id. Вот мой монгольский документ. версия Монго: 2,6Извлечь только запрошенный объект из вложенного массива в MongoDB
{
"_id" : ObjectId("57c1ae9ac1bd31d4eb4d546d"),
"footers" : [
{
"type" : "web",
"rows" : [
{
"id" : "abc",
"elements" : [
{
"id" : "def",
"type" : "image",
"url" : "http://example.com"
},
{
"id" : "ghi",
"type" : "image",
"url" : "http://example.com"
}
]
}
]
}
]
}
Я ищу объект с идентификатором «DEF», и я хочу, чтобы получить этот результат:
{
"id" : "def",
"type" : "image",
"url" : "http://example.com"
}
Ниже я привожу пример кода, который я пытался для поиска этого объекта.
db.getCollection('myCollection').aggregate([
{"$match": {
"footers.rows.elements.id": "def"
}},
{"$group": {
"_id": "$footers.rows.elements"
}}
])
И результат:
{
"_id" : [
[
[
{
"id" : "def",
"type" : "image",
"url" : "http://example.com"
},
{
"id" : "ghi",
"type" : "image",
"url" : "http://example.com"
}
]
]
]
}
Любые предложения?
Большое спасибо. Очень полезно. –