$push
digunakan untuk menambahkan nilai ke array. Dalam contoh Anda, measurements
adalah array dan Mongo menambahkan $newData
sebagai elemen pertamanya. Ini menjelaskan 0
indeks antara measurements
dan levels
. Dalam hasil yang Anda inginkan, measurements
adalah objek yang setara dengan $newData
(yaitu memiliki levels
properti, yang pada gilirannya memiliki array objek di dalamnya).
Salah satu dari contoh berikut harus memenuhi apa yang Anda inginkan:
// if $newData is {"levels": [{"level_qty":12,"level_uom":"ft"}]}
->set("measurements", $newData)
// if $newData is [{"level_qty":12,"level_uom":"ft"}]
->set("measurements.levels", $newData)
// if $newData is {"level_qty":12,"level_uom":"ft"}
->push("measurements.levels", $newData)
Catatan:$push
akan lebih fleksibel jika Anda ingin menambahkan data dengan pembaruan di masa mendatang, sedangkan $set
secara alami akan menimpa bidang yang diberikan.