MongoDB aggregate вывод определенных полей
После объединения двух коллекций через lookup
и раскрытия присоединённых данных (result) через unwind получаем следующее:
{
_id: new ObjectId(''),
'one': [ ],
'two': [ ],
result: {
_id: new ObjectId(''),
'three': [ ],
'four': [ ],
'five': [ ]
}
}
Нужно, чтобы результат выглядел так:
{
_id: new ObjectId(''),
'one': [ ],
'two': [ ],
'three': [ ],
'five': [ ]
}
Ответы (1 шт):
Автор решения: ksa
→ Ссылка
Нужно, что бы результат выглядел так
За вывод полей отвечает оператор этапов $project
...
db.tmp.aggregate([
// тут твои дела
{$project: {
one: 1,
two: 1,
three: '$result.three',
five: '$result.five'
}}
])
Возможно придется добавить result: 0
, если оно останется в итоговом документе.
Более подробнее в статье http://kodesource.top/mongodb/aggregation/mongodb-aggregatrion-project-operator.php