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

buat dokumen mongodb dengan subdokumen secara atom?

Perbarui dengan upsert=true dapat digunakan untuk melakukan "insert or update" atom (http://docs.mongodb.org/manual/core/update/#update-operations-with-the-upsert-flag ).

Misalnya jika kita ingin memastikan sebuah dokumen di koleksi Front dengan url tertentu dimasukkan tepat sekali, kita dapat menjalankan sesuatu seperti:

db.Front.update(
    {url: 'http://example.com'},
    {$set: {
       url: 'http://example.com'},
       found: true
    }
)

Operasi pada satu dokumen di MongoDB selalu atomik. Jika Anda membuat pembaruan yang mencakup banyak dokumen, maka tidak ada atomisitas yang dijamin. Dalam kasus seperti itu, Anda dapat bertanya pada diri sendiri:apakah saya benar-benar membutuhkan operasi yang atomik? Jika jawabannya tidak, maka Anda mungkin akan menemukan cara untuk bekerja dengan data yang berpotensi tidak konsisten. Jika jawabannya ya dan Anda ingin tetap menggunakan MongoDB, lihat pola desain di Komit Dua Fase .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Dapatkan dokumen dengan tag dalam daftar, diurutkan berdasarkan jumlah total kecocokan

  2. Driver MongoDB dan Java:abaikan kasus dalam kueri

  3. $addToSet ke array tetapi itu memberi saya null

  4. Properti Luwak 'x' tidak ada pada jenis 'Dokumen'

  5. Agregasi MongoDB dengan $lookup hanya menyertakan (atau memproyeksikan) beberapa bidang untuk dikembalikan dari kueri