sql >> Database teknologi >  >> NoSQL >> MongoDB

$addFields, når der ikke blev fundet noget $match

Du kan lidt latterligt gøre dette med $facet og $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. Redis - Udløbne indekser slettes ikke

  2. Implementering og vedligeholdelse af MongoDB ved hjælp af Ansible

  3. RuntimeWarning:Du kører arbejderen med superbrugerrettigheder:dette anbefales absolut ikke

  4. 6 bedste praksis for implementering af MongoDB på Amazon EC2