我有一个mongodb集合如下:{color:'blue',category:'A',.....} {color:'yellow',category:'A',....} {color:'blue ',类别:'B',......} ......
如下查询:db.collection.aggregate([{$ match:{color:'blue'}},{$ group:{_ id:“$ category”,num:{$ sum:1}}}])
返回颜色的文档数:每个类别的“蓝色” .
现在,我想获得每个类别中的文档总数 - 在同一个聚合查询中 . 这样可以避免在非常大的数据库上对mongodb服务器进行额外的查询 . 因为它是第一个查询需要花费几分钟才能完成 . 添加另一个查询几乎会复制数据库服务器的工作(再次分组和计数),因此需要更长的时间 . 这可能吗?
如果没有,是否有单个API调用在指定的键字段上合并两个AggregationOutput结果?
谢谢 .
1 回答
这是怎么做的: