sql >> データベース >  >> NoSQL >> MongoDB

$matchが見つからない場合の$addFields

    $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. MongoDBでのマルチドキュメントACIDトランザクションの概要とその使用方法

    2. ノードjsを使用してダウンストリームメッセージをgoogleccsに送信します

    3. mongodbコレクションから最新のレコードを取得する

    4. 複数のフィールドで同時にMongodb集計(カウント)