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

MongoDB dan masalah tambahan

Pertama, sepertinya Anda tidak melakukan upsert sama sekali. Sintaks untuk itu di Java API akan memiliki argumen ketiga untuk db.update disetel ke true.

   db.update(com.mongodb.DBObject, com.mongodb.DBObject, boolean /*upsert */, boolean /* multi */)

Anda juga tidak boleh melakukan $push - semantik dari apa yang Anda katakan ingin Anda lakukan di mongo shell adalah:

db.collection.update( {"resourceVacation":resourceID}, {$set:{"vacationList":[...]}, true)

Ini mengatakan:jika resourceVacation memiliki resourceID ada, maka buat "vacationList"-nya seperti yang saya berikan kepada Anda. Jika tidak ada, masukkan catatan ini.

Jika Anda menggunakan Java API secara langsung, persamaan di atas sudah cukup.

Sepertinya Anda menggunakan MongoTemplate dari Spring. Anda perlu memeriksa versi apa yang Anda gunakan karena tidak digunakan untuk mengizinkan upsert . Masalah itu ditandai sebagai terselesaikan. Jika Anda terjebak pada versi yang lebih lama, maka ada solusi yang dijelaskan di sini .

Jika Anda adalah yang terbaru, Anda seharusnya dapat menggunakan metode upsert yang baru ditambahkan secara langsung, seperti yang dijelaskan di sini .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB :Bisakah Data Store digunakan lagi di Server Mongo lain yang berbeda?

  2. Bagaimana cara menginstal mongodb di beaglebone black?

  3. Bagaimana Anda menjumlahkan nilai di dalam objek yang merupakan subdokumen bersarang di mongodb menggunakan node.js?

  4. cara mendeteksi apakah unduhan file berhasil dari sisi klien di mean/angular js

  5. TypeError:path harus berupa string atau Buffer MEAN stack