MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak zaktualizować dynamiczne atrybuty MongoDB?

Korzystanie z Mongo Multi Update najpierw wyciągnij wszystkie k:[color,style] a następnie addToSet w attr tablica podanych wartości. Zapytanie o aktualizację wygląda tak jak poniżej:

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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose this.model nie jest funkcją

  2. MongoDB i Asp Core aktualizują tylko klucz:parę wartości zamiast całego modelu

  3. Operacje na dokumentach MongoDB są atomowe i izolowane, ale czy są spójne?

  4. MongoDB + aplikacja internetowa:baza danych na użytkownika

  5. Jak przekonwertować BSON Timestamp ze strumienia zmian Mongo na datę?