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

Perbarui dokumen PyMongo dengan banyak catatan

Untuk item baru

db.cmpe285.update({"username":username}, {"$push": {"stocks":{"name":stock_symbol,"count":allotment,"price":initial_share_price}}})

Untuk memperbarui item yang ada , dengan asumsi Anda memperbarui penjatahan. anda perlu menggunakan operator posisi ($) dengan nilai array yang direferensikan dalam kueri.

db.cmpe285.update({"username":username, "stocks.name":stock_symbol}, {"$set": {"stocks.$.count":allotment2}})

Untuk meningkatkan item , ini adalah proses 2 langkah. Pertama-tama Anda harus menjalankan kueri dengan cara yang sama seperti yang Anda lakukan untuk memperbarui item yang ada seperti di atas dan memeriksa respons hasil tulis dari kueri di atas dan memeriksa jumlah yang dimodifikasi. Jika jumlah yang dimodifikasi adalah 0 berarti kita perlu melakukan upsert dan Anda tinggal melakukannya seperti halnya menambahkan item baru.

db.cmpe285.update({"username":username, "stocks.name":stock_symbol}, {"$set": {"stocks.$.count":allotment2}})

Periksa WriteResult , jika nmodified sama dengan 0.

db.cmpe285.update({"username":username}, {"$push": {"stocks":{"name":stock_symbol,"count":allotment2,"price":initial_share_price}}})

Jika nmodified sama dengan 1, upserting berhasil.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mengonversi daftar R ke JSON

  2. Server Mongo menerima kredensial dari shell, tetapi tidak dari antarmuka Java/Scala

  3. Masalah dalam hubungan antara Node.js dan wadah MongoDB menggunakan lingkungan var. di Docker Compose

  4. Hubungan MongoDB untuk objek

  5. Mongodb:gagal terhubung ke server pada koneksi pertama