У меня есть список документов в MongoDB с древовидной структурой, где используется шаблон Model Tree Structures with Parent References. Я хочу один запрос агрегации, который возвращает список предков (до корня), учитывая свойство name.
Состав:
{
'_id': '1',
'name': 'A',
'parent': '',
},
{
'_id': '2',
'name': 'B',
'parent': 'A',
},
{
'_id': '3',
'name': 'C',
'parent': 'B',
},
{
'_id': '4',
'name': 'D',
'parent': 'C',
}
Результат агрегирования: (Дано, имя = 'D')
{
'_id': '4',
'name': 'D',
'ancestors': [{name:'C'}, {name:'B'}, {name:'A'}]
}
Note:
Теперь я не могу изменить структуру документа. Это вызовет множество проблем. Я видел много решений, которые предлагают использовать Структуры дерева моделей с массивом предков. Но я не могу использовать его сейчас. Есть ли способ достичь этого с помощью вышеуказанного шаблона с использованием единого запроса на агрегацию? Спасибо вам