MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

$addFields, когато не е намерено $match

Донякъде нелепо можете да направите това с $facet и $ifNull агрегиране

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. Как да се свържете с MySQL без Root парола на терминала

  2. Ръководство за конфигуриране на Load Balancer в MongoDB Sharded Cluster

  3. Разделете низ в масив от поднизове или знаци в MongoDB

  4. 6 най-добри практики за внедряване на MongoDB на Amazon EC2

  5. MongoParseError:опциите useCreateIndex, useFindAndModify не се поддържат