Как выбрать ответы на комментарии из монги?
Как, в рамках одной агрегации, получить ответы на комменты? Пример:
{
"_id": 1,
"reply_for": null,
"comment": "комментарий"
},
{
"_id": 2,
"reply_for" 1,
"comment": "Ответ"
}
можно-ли вообще это сделать в рамкох одной агрегации, чтобы например на выходе получить
{
"_id": 1,
"reply_for": null,
"comment": "комментарий",
"reply" : [
{
"_id": 2,
"reply_for": 1,
"comment": "Ответ"
},
]
},
Ответы (1 шт):
Автор решения: Shevtsov Eugene
→ Ссылка
....
['$addFields' => ['comment_id' => ['$toString' => '$_id']],
['$lookup' => [
'from' => 'collection',
'localField' => 'comment_id',
'foreignField' => 'reply_for',
'as' => 'reply',
]
]
....