как включить $ count в условие в mon goose, чтобы достичь результата ниже? - PullRequest
0 голосов
/ 07 января 2020

Я использую агрегатную функцию mon goose, чтобы отфильтровать это ниже json, и это выглядит так:

для модуля / приложения 1

 [
    {
        "phase": "Knowledge Transfer",
        "Planned": 1,
        "Inprogress": 1,
        "Delayed": 0,
        "YetToStart": 0,
        "Complete": 1
    }
]

====== для модуля / приложения 2

[
    {
        "phase": "Knowledge Transfer",
        "Planned": 1,
        "Inprogress": 0,
        "Delayed": 0,
        "YetToStart": 0,
        "Complete": 0
    },
    {
        "phase": "Initiation",
        "Planned": 1,
        "Inprogress": 0,
        "Delayed": 0,
        "YetToStart": 1,
        "Complete": 1
    }]

====

(путем добавления) результирующий json должен быть как [Ожидаемый результат],

 [
    {
        "phase": "Knowledge Transfer",
        "Planned": 2,
        "Inprogress": 1,
        "Delayed": 0,
        "YetToStart": 0,
        "Complete": 0
    },
    {
        "phase": "Initiation",
        "Planned": 1,
        "Inprogress": 0,
        "Delayed": 0,
        "YetToStart": 1,
        "Complete": 1
    }]

ниже используется ли запрос:

router.get("/:id/:category/:tower/:application", (req, res) => {
  var recentDate = new Date();
  Activity.aggregate([
    {
      $group: {
        _id: "$phasename",
        MaxplannedEnd: {
          $max: "$plannedEndDate"
        }
      }
    },
    {
      $project: {
        Planned: {
          $cond: [{ $lte: ["$MaxplannedEnd", recentDate] }, 1, 0]
        }
      }
    }
  ]);
});

он всегда возвращает 1 .. как я могу включить $ count здесь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...