MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Doppelte Zeilen bei linker Verknüpfung in Birt-Berichten erhalten

Fügen Sie einen neuen Datensatz für DeviceEventObject

hinzu

Fügen Sie die folgende Aggregatfunktion im Befehlsausdruck-Generator hinzu.

Die folgende Funktion $lookup die Daten aus der Status-Fehlercode-Prioritätsstufe basierend auf terminalId, gefolgt von $unwind um die Daten zu glätten.

$group die Flatten-Daten auf terminalId, um die unterschiedlichen Prioritätsstufen für eine Terminal-ID zu akkumulieren.

$project um die unterschiedlichen Prioritätsstufen zu zählen

[{$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} }
]

Verschieben Sie alle verfügbaren Felder in die Spalte "Ausgewählte Felder".

Ergebnisvorschau.