MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Obtendo linhas duplicadas na junção esquerda em relatórios Birt


Adicionar um novo conjunto de dados para DeviceEventObject

Adicione a seguinte função agregada no construtor de expressão de comando.

A função abaixo $lookup os dados do nível de prioridade do código de erro de status com base no terminalId seguido por $unwind para achatar os dados.

$group os dados achatados no terminalId para acumular os níveis de prioridade distintos para um id de terminal.

$project para contar os distintos níveis de prioridade
[{$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} }
]

Mova todos os campos disponíveis para a coluna de campos selecionados.

Visualizar resultados.