MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

mongodb:masukkan jika tidak ada

Kedengarannya seperti Anda ingin melakukan "upsert". MongoDB memiliki dukungan bawaan untuk ini. Berikan parameter tambahan ke panggilan update() Anda:{upsert:true}. Misalnya:

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

Ini menggantikan blok if-find-else-update Anda sepenuhnya. Ini akan dimasukkan jika kunci tidak ada dan akan diperbarui jika ada.

Sebelumnya:

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

Setelah:

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

Anda juga dapat menentukan data apa yang ingin Anda tulis:

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

Sekarang dokumen yang Anda pilih akan memperbarui nilai "key2" saja dan membiarkan yang lainnya tidak tersentuh.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. $in membutuhkan array sebagai argumen kedua, ditemukan:hilang

  2. Cara tercepat untuk menghapus dokumen duplikat di mongodb

  3. Bagaimana Membandingkan MongoDB dengan YCSB?

  4. Tambahkan bidang yang tidak ada dalam skema dengan luwak

  5. MongoDB:Memperbarui subdokumen