mongodb - MongoDB 是否支持对聚合查询的结果进行聚合查询?
问题描述
我有一个聚合查询,它返回属性的记录数。
db.collection.aggregate([
{
$group : {
_id : "$propertyId",
count: { $sum: 1 }
}
},
{
$sort : { count: 1 }
}
],
{
allowDiskUse:true
});
这给了我一个看起来像这样的结果。
{ "_id" : 1234, "count" : 1 }
{ "_id" : 1235, "count" : 1 }
{ "_id" : 1236, "count" : 2 }
{ "_id" : 1237, "count" : 3 }
{ "_id" : 1238, "count" : 3 }
现在我想数一数。所以上面的结果会变成这个。
{ "_id" : 1, "count" : 2 }
{ "_id" : 2, "count" : 1 }
{ "_id" : 3, "count" : 2 }
这可能与查询有关,还是我需要编写一些代码来完成这项工作?
解决方案
我更新了查询以获得另一个计算计数的“步骤”。这就是它的外观。
db.collection.aggregate([
{
$group : {
_id : "$propertyId",
count: { $sum: 1 }
}
},
{
$group : {
_id : "$count",
countOfCounts: { $sum: 1 }
}
},
{
$sort : { countOfCounts: 1 }
}
],
{
allowDiskUse:true
});
推荐阅读
- javascript - Javascript DOM .querySelector() 空问题
- shell - sed 根据行号动态替换文本
- c# - 为什么抽象类不能有密封方法
- php - 如何在 python http 服务器中编译和发送结果 php 代码?
- javascript - 如何检测浏览器中的后退按钮?
- python - 对 tensorflow 诗人中其他架构的评估.py 中的修改
- python - 遍历 for 循环,如果条件不满足做某事。Python
- amazon-web-services - 如何控制 Redshift 中不断增加的数据量?
- logging - 如何在 Kibana 中按请求捆绑日志行?
- javascript - 循环对 jQuery 对象