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

mongodb:wstaw, jeśli nie istnieje

Wygląda na to, że chcesz zrobić „upsert”. MongoDB ma wbudowaną obsługę tego. Przekaż dodatkowy parametr do wywołania update():{upsert:true}. Na przykład:

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

Zastępuje to całkowicie blok if-find-else-update. Wstawi, jeśli klucz nie istnieje, i zaktualizuje się, jeśli tak.

Przed:

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

Po:

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

Możesz również określić, jakie dane chcesz zapisać:

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

Teraz wybrany dokument zaktualizuje tylko wartość „key2” i pozostawi wszystko inne nietknięte.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Obiekty osadzone MongoDB nie mają identyfikatora (wartość pusta)

  2. Jak działa parametr arrayFilters w MongoDB

  3. MongoDB SSL z samopodpisanymi certyfikatami w C#

  4. Aktualizacja ścieżki „x” spowodowałaby konflikt w miejscu „x”

  5. Jak wstawić wiele dokumentów jednocześnie do MongoDB za pomocą Javy?