首页 > 解决方案 > 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 条记录。

标签: mongodbparse-serverparse-cloud-code

解决方案


推荐阅读