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

jak uniknąć $pchania wartości null w ramach agregacji mongo

Trochę późno na imprezę, ale...

Chciałem zrobić to samo i odkryłem, że mogę to osiągnąć za pomocą wyrażenia takiego:

  // Pushes events only if they have the value 'A'
  "events": {
    "$push": {
      "$cond": [
        {
          "$eq": [
            "$event",
            "A"
          ]
        },
        "A",
        "$noval"
      ]
    }
  }

Myślenie tutaj jest takie, że kiedy to robisz

{ "$push": "$event" } 

wtedy wydaje się, że wypycha tylko wartości inne niż null.

Stworzyłem więc kolumnę, która nie istnieje, $noval, która zostanie zwrócona jako fałszywy warunek mojego $cond.

Wydaje się, że to działa. Nie jestem pewien, czy jest to niestandardowe, a zatem podatne na złamanie pewnego dnia, ale...



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak - wiele aplikacji Meteor na jednej MongoDB - te same kolekcje?

  2. MongoDB vs CouchDB (optymalizacja prędkości)

  3. Jak korzystać z funkcji agregacji mongo db-query

  4. Dziwna odpowiedź podczas wyszukiwania dokumentów w MongoDB przy użyciu Mongoose w Node.js

  5. Zapytanie Active Record gdzie wartość w polu tablicy