我在 MongoDB 中有一个具有树结构的文档列表,其中使用了具有父引用模式的模型树结构。给定'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:
我现在无法更改文档结构。会引起很多问题。我看到许多解决方案建议将Model Tree Structures 与 Array of Ancestors 一起使用。但我现在不能使用它。有没有办法使用单个聚合查询通过上述模式来实现它?谢谢