MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Uzyskiwanie zduplikowanych wierszy przy lewym sprzężeniu w raportach Birta

Dodaj nowy zestaw danych dla DeviceEventObject

Dodaj następującą funkcję agregującą w konstruktorze wyrażeń poleceń.

Poniższa funkcja $lookup dane z poziomu priorytetu kodu błędu statusu na podstawie terminalId, po którym następuje $unwind aby spłaszczyć dane.

$group spłaszczyć dane na terminalId, aby zgromadzić różne poziomy priorytetów dla identyfikatora terminala.

$project liczyć różne poziomy priorytetów

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

Przenieś wszystkie dostępne pola do wybranej kolumny pól.

Podgląd wyników.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Wepchnij forEach, gdy zapytanie nie działa poprawnie

  2. dostęp do obiektu mongodb z mappera (MapReduce)

  3. Jak używać agregacji w mongodb do $match _id

  4. Dostęp do bazy danych produkcji meteorów w 2016 r.

  5. MongoRepository @Query Nie udało się przeanalizować ciągu jako daty