sql >> Databáze >  >> NoSQL >> MongoDB

$addFields, když nebyl nalezen žádný $match

Můžete to udělat poněkud směšně pomocí $facet a $ifNull agregace

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 Connection přes socket na Node.js

  2. Nelze získat připojení Jedis; Nelze získat zdroj z fondu

  3. Jak efektivně vložit miliardu dat do Redis?

  4. Použití Hive k interakci s HBase, část 1