たとえば、次のようなツリー構造。MongoDBを使用してツリー構造を再帰的にクエリする方法はありますか?
[
{id: 1 , childrenIdList: [2, 3]},
{id: 2 , childrenIdList: [4, 5]},
{id: 3 , childrenIdList: []},
{id: 4 , childrenIdList: [6, 7]},
{id: 5 , childrenIdList: []},
{id: 6 , childrenIdList: []},
{id: 7 , childrenIdList: []}
]
;
1
2 3
4 5
6 7
リーフノード(ID = 7)からルート(ID = 1)にツリーをトレースするにはどうすればよいですか?
id=7
の親を見つけることは簡単です。
db.document.find({childrenList: { $in: [7]}}, {id: 1}).toArray(function(err), result{
/*result gives
{"id" : NumberInt(4)}
now I should look the parent of id=4, and parent of id=2 as you know.
*/
})
mongodbで再帰的クエリが可能ですか?どのように実装できますか?
グラフのデータをご覧ください:https://www.compose.com/articles/graph-data-with-mongodb/ – Zlatko