Я работаю в проекте и пытаюсь получить связанные документы, используя приведенный ниже конвейер, и я не знаю, как я могу сгруппировать результаты и получить уникальный набор элементов.
[
{
"$match": {
"id_site": 3,
"id_parent": null,
"id_class": null
}
},
{
"$lookup": {
"from": "categories",
"localField": "_id",
"foreignField": "id_parent",
"as": "Childs"
}
},
{
"$unwind": {
"path": "$Childs",
"preserveNullAndEmptyArrays": true
}
}
]
После выполнения я получаю этот результат, и я не знаю, как я могу сгруппировать результаты по _id и получить категорию 1 - уровень 1 с его двумя дочерними элементами:
[
{
"_id": "5eac058490ba016d4942f782",
"id_parent": null,
"id_site": 3,
"title": "Category 1 - Level 1",
"Childs": {
"_id": "5eac062590ba016d4942f783",
"id_parent": "5eac058490ba016d4942f782",
"id_site": 3,
"title": "SubCategory 1 - Level 1",
"Childs": null
}
},
{
"_id": "5eac058490ba016d4942f782",
"id_parent": null,
"id_site": 3,
"title": "Category 1 - Level 1",
"Childs": {
"_id": "5eac324b423ea324bb762022",
"id_parent": "5eac058490ba016d4942f782",
"id_site": 3,
"title": "SubCategory 2 - Level 1",
"Childs": null
}
},
{
"_id": "5eac05d6684e587ee43af842",
"id_parent": null,
"id_site": 3,
"title": "Category 2 - Level 1",
"Childs": null
},
{
"_id": "5eac05f50aa60f05b50faa92",
"id_parent": null,
"id_site": 3,
"title": "Category 3 - Level 1",
"Childs": null
}
]