Mongodb запрос для одного пользователя для каждого отдельного чата

в моей базе данных MongoDB у меня есть коллекция с такими сообщениями, как:

{
    "_id" : ObjectId("5f315c1d80d6ce3f7bb597ba"),
    "client" : ObjectId("5f2071c14bdf84841fb1b6a0"),
    "read" : false,
    "ticket" : ObjectId("5f315bec80d6ce3f7bb597b9"),
    "message" : "test1 test3",
    "createdAt" : ISODate("2020-08-10T14:39:25.893Z"),
    "__v" : 0
}

{
    "_id" : ObjectId("5f315c1e80d6ce3f7bb597bb"),
    "client" : ObjectId("5f2071c14bdf84841fb1b6a0"),
    "read" : false,
    "ticket" : ObjectId("5f315bec80d6ce3f7bb597b9"),
    "message" : "test1 test2",
    "createdAt" : ISODate("2020-08-10T14:39:26.611Z"),
    "__v" : 0
}


{
    "_id" : ObjectId("5f315c6880d6ce3f7bb597bd"),
    "client" : ObjectId("5f2071c14bdf84841fb1b693"),
    "read" : false,
    "ticket" : ObjectId("5f30e018b855b5321cc34fb9"),
    "message" : "test1 test",
    "createdAt" : ISODate("2020-08-10T14:40:40.310Z"),
    "__v" : 0

}

Запрос подсчитывает количество новых сообщения по каждому чату для всех чатов от всех пользователей я использовал запрос который ниже:

db.chat.aggregate([
      {$match: {read: false, client: {$ne: auth.admin._id}}}, {
        $group: {
          _id: '$ticket',
          count: {$sum: 1}
        }
      }])

Нужно подсчитать все новые сообщения для одного пользователя для каждого его отдельного чата.


Ответы (0 шт):