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 } }
);