mongodb - MongoDB,在组计数之后再做一次计数
问题描述
我对 mongodb 有点陌生。我做了一个查询来计算具有相同父母(parentid)的孩子,查询如下所示:
db.Child.aggregate([
{
"$group" :
{
_id:"$parent", count1:
{
$sum:1
}
}
}
])
结果如下所示:
count1
我需要做的下一步是计算上面字段中有多少个 1、2、3 等。是否有可能做另一个这样的计数?
解决方案
如果您要做的只是获取值的总数count1
,则可以添加另一个$group
和另一个累加器,如下所示:
db.Child.aggregate([
{ $group: {
_id: "$parent",
count1: { $sum: 1 }
}},
{ $group: {
_id: "$count1",
count2: { $sum: 1 }
}}
])
推荐阅读
- python - 使用 DatetimeIndex 重新采样 DataFrame 并保持日期范围
- amazon-web-services - 是否可以在 EC2 上运行 docker?
- ruby-on-rails - 如何在 Rails 中同时使用 form_with 和 simple_form_for?
- javascript - 刷新 currentsong 广播
- python - Python 是否支持等距照片?
- outlook - Outlook 邮件正文仅返回最近的邮件
- docker - 当我在 Ubuntu 16.04 上下载大文件 (40GB) 时,Docker 构建崩溃
- facebook-graph-api - 通过 API 按名称搜索 Instagram 用户
- reactjs - 来自 React Material-UI 怪异 API 的排版组件
- jquery - ParamQuery 获取父行