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

$addFields, gdy nie znaleziono $dopasowania

Możesz to zrobić nieco śmiesznie za pomocą $facet i $ifNull agregacja

db.collection.aggregate([
  { "$facet": {
    "array": [
      { "$match": { "type": "L", "lampStatus": "ON" }},
      { "$group": {
        "_id": null,
        "TotalLights": { "$sum": 1 }
      }},
      { "$project": { "_id": 0, "TotalLights": 1 }}
    ]
  }},
  { "$project": {
    "TotalLights": {
      "$ifNull": [{ "$arrayElemAt": ["$array.TotalLights", 0] }, 0 ]
    }
  }}
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Najlepszy sposób na hostowanie MongoDB na DigitalOcean

  2. Utrzymywanie zestawów replik MongoDB w chmurze za pomocą Ansible

  3. Jak zezwolić na dowolne dane JSON w dokumentach Mongoose?

  4. Zapytanie MongoDB z elemMatch dla zagnieżdżonych danych tablicowych

  5. Dlaczego hasOwnProperty modelu mangusty zwraca wartość false, gdy właściwość istnieje?