2
Как передать из этой коллекции документовMongoDB Извлечение Подмассивы из документов
/* 1 */
{
"F" : [
{
"n" : "test1",
"v" : "value1"
},
{
"n" : "test2",
"v" : "value2"
}
],
"POR" : [
{
"n" : "1test1",
"v" : "1value1"
},
{
"n" : "1test2",
"v" : "1value2"
},
{
"n" : "1test3",
"v" : "1value3"
}
]
}
/* 2 */
{
"F" : [
{
"n" : "2test1",
"v" : "2value1"
},
{
"n" : "2test2",
"v" : "2value2"
}
],
"POR" : [
{
"n" : "2test1",
"v" : "2value1"
},
{
"n" : "2test2",
"v" : "2value2"
}
]
}
/* 3 */
{
"F" : [
{
"n" : "3test1",
"v" : "3value1"
},
{
"n" : "3test2",
"v" : "3value2"
}
],
"POR" : [
{
"n" : "3test1",
"v" : "3value1"
}
]
}
к этому:
{
"ITEMS": [
{ "n": "2test1", "v": "2value1" },
{ "n": "2test2", "v": "2value2" },
{ "n": "1test1", "v": "1value1" },
{ "n": "1test2", "v": "1value2" },
{ "n": "1test3", "v": "1value3" },
{ "n": "3test1", "v": "3value1" }
]
}
Я хочу, чтобы извлечь подмассив элементы из Serveral документов, и я не могу найти способ/метод.
Первый подход попробовал:
db.test.aggregate([ { $unwind : "$POR" } ]).pretty();
Попробуйте что-то вроде этого 'db.test.aggregate ([{$ unwind:" $ POR "}, {$ group: { _id: null}, {ITEMS: {$ push: {" $ POR "}}}}])' – Veeram
Используемый подход Seccond: db.test.aggregate ({$ unwind: "$ POR"}, {$ project: {_id: 0, 'POR': 1}}) – fgallego
Являются ли элементы в поле «POR», отличные от коллекции? – styvane