$push
bruges til at tilføje en værdi til en matrix. I dit eksempel, measurements er et array, og Mongo tilføjer $newData som dets første element. Dette forklarer 0 indeks mellem measurements og levels . I dit ønskede resultat, measurements er et objekt svarende til $newData (dvs. den har en levels egenskab, som igen har en række objekter indeni).
Et af de følgende eksempler bør opnå det, du ønsker:
// 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)
Bemærk:$push vil være mere fleksibel, hvis du vil tilføje data med fremtidige opdateringer, mens $set vil naturligvis overskrive det givne felt.