$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.