MongoDB递归分组

时间:2018-02-23 13:57:19

标签: node.js mongodb mongodb-query aggregation-framework

使用Mongodb 3.2 - >可能会转到3.4 mongodb的nodejs驱动程序(不是mongoose)

我有一个看起来像这样的文档集

{ _id: "A", title:"title1"}
{ _id: "B", title:"title2"}
{ _id: "G", title:"title3", parents:["A"] }
{ _id: "H", title:"title4", parents:["A", "B"]}
{ _id: "I", title:"title5", parents:["G"]}

是否可以创建一个单独的聚合查询来输出如下所示?

[
{
  title:"title1"
  children:[
      {title:"title3", children:[ {title:"title5"} ]},
      {title:"title4", children:[] }
  ]
}
{
  title:"title2",
  children:[ 
      {title:"title4", children:[]} 
  ]
}
]

这棵树的深度会增长和缩小。可以将模式更改为children,parent,parent-> ancestor等....多个集合并使用$ lookup是可能的,但是使用单个集合是理想的。

提前谢谢你。我还没有找到这个级别的答案。

0 个答案:

没有答案