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

Perbarui satu bidang di MongoDB dalam satu dokumen yang disematkan

Anda mungkin dapat menggunakan operator posisi untuk mengidentifikasi elemen larik:

Jadi mungkin sesuatu seperti:

User.collection.update(
    { :_id => user.id, :matches => BSON::ObjectId('4e40238dbc9f6ec5a6000eed') },
    { :$set => { 'alert.matches.$' => matches } }
)

Namun seperti yang dicatat oleh Sergio, sulit untuk menguraikan struktur dokumen Anda berdasarkan informasi yang terbatas dalam pertanyaan Anda.

Sepertinya lebih banyak informasi masuk setelah saya menjawab dan sepertinya:

{ :$set => { 'alerts.$.matches' => ... } }

adalah apa yang Anda butuhkan. Dan Anda harus menyertakan :matches dalam kueri sehingga $ memiliki sesuatu untuk dirujuk.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. memasukkan item dalam daftar di dokumen mongodb

  2. cara mengambil 10 menit sebelum membuat catatan di mongodb

  3. Bagaimana unhideIndex() Bekerja di MongoDB

  4. Menggunakan basis data spasial untuk menemukan poligon yang berisi titik

  5. $geoNear (pipa agregat) tidak mengembalikan dokumen yang benar