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

masukkan bidang dalam subdokumen dalam array dengan indeks di MongoDB

Anda ingin menggunakan update perintah pada koleksi Anda sebagai berikut (contoh):

db.collection.update(
    { "my_array.title" : "title_one" },
    { $inc : { "my_array.$.click_number" : 1 } }
);

Apa yang baru saja terjadi?

Pada parameter pertama update Anda mendefinisikan query untuk mencocokkan dokumen yang ingin Anda perbarui. Kami mencari properti bernama title di dalam array yang disebut my_array . Anda bisa mencocokkan dengan body atau email tentunya dengan memodifikasi notasi titik menjadi:"my_array.email" .

Parameter kedua mendefinisikan pembaruan, modifikasi yang akan diterapkan. Kami memiliki $inc operator untuk menambah bidang, yang kami gunakan dalam pernyataan ini. query memilih dokumen dengan elemen array yang cocok. Anda dapat meraih item larik yang cocok ini dengan $ notasi. "my_array.$" memilih elemen larik yang cocok, yang memiliki title , email dan body . Jika Anda mencoba memberi nilai pada bidang yang tidak ada, MongoDB akan melakukannya untuk Anda. Jika bidang tidak ada, $inc mengatur bidang ke jumlah yang ditentukan. $inc operator menerima jumlah tambahan positif dan negatif.

Pelajari lebih lanjut tentang perintah pembaruan.

Contoh lain:

db.collection.update(
    { _id : "john", "my_array.email" : "email" },
    { $inc : { "my_array.$.click_number" : 1 } }
);



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Upsert massal di MongoDB menggunakan luwak

  2. Querying Mongodb Subdocuments error Mengonversi struktur melingkar ke JSON

  3. Cara masuk ke file riwayat shell Mongo atau semua riwayat di Windows

  4. Mencari lokasi dengan Google Maps API untuk Android

  5. Apa praktik terbaik untuk koneksi MongoDB di Node.js?