猫鼬 - 多级导航

时间:2016-07-14 04:59:41

标签: node.js mongodb mongoose

我是MongoDB&的新手。猫鼬

我有这样的数据:

{
  "_id": "5787009e494495e56d327417",
  "title": "Hahaha",
  "parent": null,
  "depth": 0
},
{
  "_id": "5787009e494495e56d327416",
  "title": "Hihihi",
  "parent": null,
  "depth": 0
},
{
  "_id": "5787009e494495e56d327415",
  "title": "Huhuhu",
  "parent": "5787009e494495e56d327417",
  "depth": 1
}

如何将数据转换为:

{
  "_id": "5787009e494495e56d327417",
  "title": "Hahaha",
  "children": [
     "_id": "5787009e494495e56d327415",
     "title": "Huhuhu",
     "children": []
  ]
},
{
  "_id": "5787009e494495e56d327416",
  "title": "Hihihi",
  "children": []
}

请帮助我,抱歉我的英语不好!

1 个答案:

答案 0 :(得分:1)

没有其他方法可以遍历结果并在内存中创建新数据。

//for each item in the result {
     if(item.parent !=null){
       insert_item_in_tree(item);   
     }
//}

然后构建一个数据结构函数,根据父ID适当地插入一个项目。