MongoDBのツリー構造を持つ文書のリストがあります。Model Tree Structures with Parent Referencesパターンが使用されています。私は 'name'プロパティを与えられた祖先リスト(ルートまで)を返す単一の集約クエリが必要です。MongoDBのコレクションの再帰的検索
構造:
{
'_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 with an Array of Ancestorsを使用することを提案する多くのソリューションを見た。しかし、私は今それを使用することはできません。単一集約クエリを使用して上記のパターンでそれを達成する方法はありますか?ありがとうございます
なぜ「_id」文字列ですか? – styvane
@Styvaneこれは単なる例です。実際の教師がObjectIdを持っています – RaR
@RaR Styvaneの答えが恩恵を促してくれるのですか? – JohnnyHK