MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

mongodb:вмъкнете, ако не съществува

Звучи така, сякаш искате да направите „подкачване“. MongoDB има вградена поддръжка за това. Предайте допълнителен параметър към извикването на update():{upsert:true}. Например:

key = {'key':'value'}
data = {'key2':'value2', 'key3':'value3'};
coll.update(key, data, upsert=True); #In python upsert must be passed as a keyword argument

Това изцяло замества вашия блок за актуализация if-find-else-update. Той ще се вмъкне, ако ключът не съществува, и ще се актуализира, ако го има.

Преди:

{"key":"value", "key2":"Ohai."}

След:

{"key":"value", "key2":"value2", "key3":"value3"}

Можете също да посочите какви данни искате да запишете:

data = {"$set":{"key2":"value2"}}

Сега избраният от вас документ ще актуализира само стойността на "key2" и ще остави всичко останало недокоснато.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Монго агрегиране с разредени на страници данни и суми

  2. Възможно ли е да генерирате динамично наречени MongoDB колекции?

  3. Управление на журналирането в MongoDB

  4. Нарастващото значение на MongoDB в областта на науката за данни

  5. Разлика между базирани на документи и базирани на ключ/стойност бази данни?