【发布时间】:2016-12-01 05:00:27
【问题描述】:
我有以下文件:
{'_id':'id1','parentId':"",'count':1}
{'_id':'id2','parentId':"",'count':12}
{'_id':'id3','parentId':"",'count':16}
{'_id':'id4','parentId':"id2",'count':3}
{'_id':'id5','parentId':"id2",'count':3}
{'_id':'id6','parentId':"id1",'count':0
{'_id':'id7','parentId':"id1",'count':122}
parentId 带有 "" 字段表示父节点。如果 parentId 存在,则表示给定 parentId 的子节点。我需要一个按“计数”(降序)排序的查询,但是我只希望它返回 parentId 的游标。但是,如果子项计数最高,则表示总体上的最高值,应返回该子项的父项。
对上述数据运行查询的结果应该按以下顺序给我文档:id1、id3、id2
我考虑过启动聚合管道。对于第一阶段,我可以对计数进行排序。但是我不知道如何让查询返回孩子的 parentId...
【问题讨论】:
-
你能显示你的输出文件吗?
-
嗨 Shaishab,我希望输出与上面的文档相同。这就是预测的一切。 IE。 Id1 包含所有自己的字段,与子级无关,即使子级影响查询
-
那么id7的位置是什么?
-
它不包含在输出中,因为它是一个父节点为 id1 的子节点。然而,由于这个节点,它使 id1 最高,因此它首先在输出中返回。
标签: mongodb