Запрос группы MongoDB - считать по результату - PullRequest
0 голосов
/ 08 апреля 2020
db.tickets.aggregate([
    {$project: 
        {_id: 0, dayssince: 
            {$divide: [{ $subtract: [ 2020, {$convert:{input:{$substrCP:["$data.DATE_BIRTH", 6, 4]}, to: "int"}}]}, 45]}}},                                                                                 
    {$match:{dayssince:{$gte: 1}}}, 
    {$group:{_id:{day:"$dayssince"}},count:{$sum:1}}]);

Пожалуйста, скажите мне, что не так, я не могу понять, мне нужно найти количество всех значений

1 Ответ

0 голосов
/ 08 апреля 2020

Пожалуйста, объясните вашу проблему. Просто с помощью отступа в вашем коде его свойство count находится вне оператора $group.

вот ваш исправленный и исправленный запрос:

db.tickets.aggregate([
  {
    $project: {
      _id: 0,
      dayssince: {
        $divide: [
          {
            $subtract: [2020, { $convert: { input: { $substrCP: ["$data.DATE_BIRTH", 6, 4] }, to: "int" } }]
          },
          45]
      }
    }
  },
  {
    $match: { dayssince: { $gte: 1 } }
  },
  {
    $group: {
      _id: {
        day: "$dayssince"
      },
      count: {
        $sum: 1
      }
    }
  }
]);
...