MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

È possibile definire la chiave durante l'inserimento in mongodb

$push viene utilizzato per aggiungere un valore a una matrice. Nel tuo esempio, measurements è un array e Mongo sta aggiungendo $newData come suo primo elemento. Questo spiega il 0 indice tra measurements e levels . Nel risultato desiderato, measurements è un oggetto equivalente a $newData (cioè ha un levels proprietà, che a sua volta contiene un array di oggetti).

Uno dei seguenti esempi dovrebbe ottenere ciò che desideri:

// 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)

Nota:$push sarà più flessibile se desideri aggiungere dati con aggiornamenti futuri, mentre $set sovrascriverà naturalmente il campo specificato.