Я использую агрегатную функцию 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 здесь?