mongoose document tree 怎么通过查询获取整个文档树

  1. 问题:mongoose文档树怎么查询然后生成json对象

  2. schema:

    var ImoocSchema = new mongoose.Schema{ id:Number, name:String, url:String, parent:String
    }

    在存入的时候parent是自己根据course+id 这样子的,所以我查的时候是从上往下查的。还有就是觉得这样嵌套是有问题的,看着太难看了

  3. 生成JSON

    exports.getLessondata = functionreq,res{

     // 在设计数据库的时候就直接将字段设计好,后期查询树形结构数据的时候直接返回整个结构体 var _id = req.body._id; //返回给请求的数据 var data = {}; Imooc.findById_id,functionerr,lesson{ iferr{console.logerr;} var lessonId = course+lesson.id; data.lessonName = lesson.name; data.chapters = [] // 将章节数据写入到需要返回的给请求的data中 Imooc.find{parent:lessonId},functionerr,docs{ forvar i = 0; i < docs.length; i++{ var chapterName = docs[i].name data.chapters[i] = {}; data.chapters[i].sections = []; data.chapters[i].name = chapterName; Imooc.find{parent:chapterName},functionerr,docss{ iferr{console.logerr;} // console.logdata.chapters[i].sections forvar j = 0; j < docss.length; j++{ var name = docss[j].name var url = docss[j].url var section = {name:name,url:url} //在我自己做的时候这个地方sections报错:undefined。 data.chapters[i].sections.pushsection } } } } }

    }

  4. 新手渣渣代码

生成javascript对象用lean,自己看一下关于lean的文档

发表评论

电子邮件地址不会被公开。 必填项已用*标注