sql >> Databasteknik >  >> NoSQL >> MongoDB

$addFields när ingen $match hittades

Du kan lite löjligt göra det här med $facet och $ifNull aggregering

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. MongoDB:Bara hämta dokument som skapats under de senaste 24 timmarna?

  2. Hur jämför man två mongodb-samlingar?

  3. MongoDB - Skapa ett förhållande

  4. Fjärranslutning till MongoDB http-gränssnitt på EC2-server