mongodb - Mongodb 聚合 $gt 返回不匹配的记录
问题描述
我想计算数据库中某个字段的总和。我在 mongodb 中有这个管道:
{
match: {
'user1': user.id,
'unreadMessagesCount': { $exists: true, $gt: 0 },
}
},
{
group: {
objectId: null,
total: { $sum: "$unreadMessagesCount" },
count: { $sum: 1 }
}
}
返回的结果是
{total: 3, count: 30}
总数是正确的,因为我只有 3 条记录,每条记录有 1 个 unreadMessagesCount。但是返回的计数是 30,这是错误的。应该只有 3 条记录匹配。当我从管道中删除组时,我得到 30 条记录。
解决方案
推荐阅读
- c# - WebService 是 httplistener 还是 TcpListener?
- powershell - PowerShell 将 SMTPAddress 详细信息导出到 .CSV 失败?
- mysql - 如果当前语句失败,如何转到 MySQL 中的下一条语句?
- excel - 根据 5 个其他字段和 2 个规则计算一个字段
- c# - 使用 owin 自托管 web api
- azure - VSTS 将 cer 文件从 azure keyvault 复制到放置文件夹
- git - shell 命令的 git 别名无法正确扩展 $@
- mysql - 你需要(至少一个)mysql(Live Server)中的超级权限
- android - 详细活动屏幕加载问题。它继续加载而不停止
- excel - 每 N 个月固定一次,但有一个特定的开始月份