本文为NoSQL数据模型设计系列的一部分。
此模式每个节点是一个文档,并且节点保存子节点的引用数组。
以下面分类层级为例
创建文档
db.categories.insertMany( [
{ _id: "MongoDB", children: [] },
{ _id: "dbm", children: [] },
{ _id: "Databases", children: [ "MongoDB", "dbm" ] },
{ _id: "Languages", children: [] },
{ _id: "Programming", children: [ "Databases", "Languages" ] },
{ _id: "Books", children: [ "Programming" ] }
] )
直接获取子节点
db.categories.findOne( { _id: "Databases" } ).children
在children字段上创建索引
db.categories.createIndex( { children: 1 } )
可以获取父节点
db.categories.find( { children: "MongoDB" } )
完整内容请查看NoSQL数据模型设计系列