如果你的树结构是固定的。您可以通过以下方式查询,在此之前,只需通过以下 URL 更改您的 MongoDB 结构,
http://docs.mongodb.org/manual/tutorial/model-tree-structures-with-nested-sets/
获取数据库的所有祖先,
var databaseCategory = db.categories.findOne( { _id: "Databases" } );
db.categories.find( { left: { $lt: databaseCategory.left }, right: { $gt: databaseCategory.right } } );
结果:
{ "_id" : "Books", "parent" : 0, "left" : 1, "right" : 12 }
{ "_id" : "Programming", "parent" : "Books", "left" : 2, "right" : 11 }
获取数据库的所有后代,
var databaseCategory = db.categories.findOne( { _id: "Databases" } );
db.categories.find( { left: { $gt: databaseCategory.left }, right: { $lt: databaseCategory.right } } );
结果:
{ "_id" : "MongoDB", "parent" : "Databases", "left" : 6, "right" : 7 }
{ "_id" : "dbm", "parent" : "Databases", "left" : 8, "right" : 9 }