Anda perlu menyertakan bidang larik sebagai bagian dari dokumen kueri untuk menggunakan positional operator
.
Misalnya, jika Anda ingin memperbarui elemen larik pertama yaitu dengan { "attributes.name": "x" }
maka Anda bisa mengikuti polanya:
db.spaces.update(
{ "attributes.name": "x" }, // <-- the array field must appear as part of the query document.
{ "$set": { "attributes.$.weight": 2 } },
{ "multi": true }
)
Untuk versi MongoDB yang lebih baru 3.2.X
, Anda dapat menggunakan updateMany()
metode untuk memperbarui beberapa dokumen dalam koleksi berdasarkan filter di atas.