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

MongoDBの動的属性を更新する方法は?

    Mongo MultiUpdate を使用する 最初にすべてのk:[color,style]をプルします 次にaddToSet attrで 与えられた値を配列します。更新クエリは次のようになります:

    db.runCommand({
      "update": "sku",//here sku is collection name
      "updates": [{
        "q": {
          "attr.k": "manufacturer",
          "attr.v": "ShoesForAll"
        },
        "u": {
          "$pull": {
        "attr": {
          "k": {
            "$in": ["color", "style"]
          }
        }
          }
        },
        "multi": true
      }, {
        "q": {
          "attr.k": "manufacturer",
          "attr.v": "ShoesForAll"
        },
        "u": {
          "$addToSet": {
        "attr": {
          "$each": [{
            "k": "color",
            "v": "red"
          }, {
            "k": "style",
            "v": "sport"
          }]
        }
          }
        }
      }]
    })
    


    1. Scrapyスパイダーでパイプラインオブジェクトを取得する方法

    2. MongoDbで15分の時間間隔で結果をグループ化します

    3. 条件付きのMongoDBアップデート

    4. マングースは常に空の配列NodeJSを返します