Mongodb агрегат $ gt возвращает несоответствующие записи - PullRequest
0 голосов
/ 09 марта 2020

Я бы хотел посчитать сумму поля в моей базе данных. У меня есть этот конвейер в 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 записей.

...