Node 使用mongodb的mongoose是不是很坑呀?

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'}      //用户名称
});

有一个目录模型是上面这样的,请问我该怎么查询一级目录以及所包含的二级目录呢?

阅读 3.8k
2 个回答

你提出的这个问题并不是 mongoose 的问题,而是你设计的存储模型的问题。

mongodb 的文档中,有一个章节是专门介绍如何存储树形结构的数据的,共介绍了 5 种情况,5 种情况各有利弊。其中第二种情况和你的需求比较接近,思路就是在 schema 中添加一个 children 属性,用来保存下一级的引用,你可以参考一下。

你现在设计的模型属于这 5 种情况中的第一种情况,由子级查父级比较方便。

Node跟mongodb的交互目前最好用的应该就是mongoose了,除此以外就是原生的mongodb库,相对mongoose而言有很多细节需要处理。

mongoose使用了半年多,基本没有碰到什么坑。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题