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

深くネストされた配列mongodbを更新します

    mongodb 3.6 arrayFiltersで試すことができます

    db.collection.update(
      { "_id": ObjectId(5b56bd2f3e18580edc85af73) },
      { "$push": { "Cards.$[card].comments.$[comment].attachments": "2" } },
      { "arrayFilters": { "card.cardID": ObjectId("5b56c895d0a04836f71aa776"), "comment.commentId": 2 } }
    )
    

    IDをObjectIdにキャストしていることを確認してください

    編集:

    db.collection.update(
      { "_id": ObjectId(5b56bd2f3e18580edc85af73) },
      { "$push": { "Cards.$[card].comments.$[comment].attachments": "2" } },
      { "arrayFilters": [
        { "card.cardID": ObjectId("5b56c895d0a04836f71aa776")},
        {"comment.commentId": 2 }
        ]
      }
    )
    



    1. MongoDBがクエリに複合インデックスを使用しないのはなぜですか?

    2. es7 async / awaitを使用して、ドキュメントがmongodbに存在するかどうかを確認します

    3. 約束でmongo接続を再利用する方法

    4. MongoDB Stitchは、データを数値自体ではなく$NumberDoubleとして返します