Добавете нов набор от данни за DeviceEventObject
Добавете следната агрегатна функция в конструктора на командни изрази.
Функцията по-долу $lookup
данните от нивото на приоритет на кода за грешка на състоянието въз основа на terminalId, последвано от $unwind
за изравняване на данните.
$group
изравняването на данните за terminalId, за да се натрупат отделните нива на приоритет за идентификатор на терминал.
$project
за преброяване на отделните нива на приоритет
[{$lookup:{
from: "devicestatuserrorcodeprioirtylevel", // name of the collection
localField: "terminal.terminalId",
foreignField: "terminal.terminalId",
as: "dsecpl"
}},
{$unwind:"$dsecpl"},
{$group:{
"_id":"$terminal.terminalId",
"prioritylevels":{"$addToSet":"$dsecpl.priorityLevel"},
"events":{"$push":"$event"}
}},
{"$project":{"prioritylevelcount":{"$size":"$prioritylevels"}, "events": 1} }
]
Преместете всички налични полета в колоната с избрани полета.
Преглед на резултатите.