Node 使用mongodb的mongoose是不是很坑呀?
var CategorySchema = new Schema({
_id: {
type: String,
unique: true,
'default': shortid.generate
},
name: String, //名称
remark: String, //简介
sort: Number, //排序
type:Number, //分类类别(1:技术,2:读书,3:生活)
level:Number, //目录级别(1:一级目录,2:二级目录)
parentid:{type:String,ref:'Category'},//父目录
userid:{type:String,ref:'User'} //用户名称
});
有一个目录模型是上面这样的,请问我该怎么查询一级目录以及所包含的二级目录呢?
你提出的这个问题并不是
mongoose
的问题,而是你设计的存储模型的问题。mongodb 的文档中,有一个章节是专门介绍如何存储树形结构的数据的,共介绍了 5 种情况,5 种情况各有利弊。其中第二种情况和你的需求比较接近,思路就是在 schema 中添加一个
children
属性,用来保存下一级的引用,你可以参考一下。你现在设计的模型属于这 5 种情况中的第一种情况,由子级查父级比较方便。