mongodb 如何实现分类

介绍一款插件 mongoose-materialized,github上可以查找相应的用法:

首先安装到项目中

  npm i mongoose-materialized -S

在获取列表的接口(cate.controller.js)中,可以这样写:

function reverseTree(data,parentid){
  var result = [],
  temp;
  
   // 原来传递进来的data是数据模型的对象,在数据模型没有定义字段的情况下是不能向数据模型中新增一个字段的
  // 所以我们将它转成字符串,再转成 object,现在这个 object 就变成了普通的 javascript 对象
  var data =  JSON.parse(JSON.stringify(data));
    for(var i in data){
    if( data[i].parentId === parentid ){
      result.push( data[i] );

      temp =  reverseTree(data, data[i]._id);

      if( temp.length>0 ){
        data[i].children = temp;
      }
    }
  }
  return result;
}

exports.list = function(req,res,next){
  Cate.find({},function(err,data){
    var rpTree = reverseTree(data,null);
    res.json(rpTree);
  })
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 春天的时候,我来到了简书!这里就像他的名字,没有喧嚣,只有静静的来自心灵的声音。 特别有缘,看到了冰千...
    戴眼镜的麻花辫阅读 384评论 0 0
  • 茶自生活趣乐,感慨万千如何。生命明细运动,机体健壮了得。哪里有茶故事,何处聚首茶伴。何地不有中华,慷慨盛世辉煌...
    彬子中华茶雨阅读 495评论 0 0
  • 你应该也感觉到了我的不安,近来我的思绪开始纠结,情话说得有些语无伦次了。不安源于我发觉自己用思念绑架了你的心情,想...
    的确良阅读 436评论 0 1
  • 我有一个收藏箱,那里面专门是我来给我藏东西的箱子,这个箱子的非常的普通,普通的不能再普通了, 非常不引人注意,那些...
    7de61b102c3d阅读 222评论 0 1

友情链接更多精彩内容