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

Er det muligt at definere nøglen ved indsættelse i mongodb

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




  1. Udførelse af batches af kommandoer ved hjælp af redis cli

  2. mongoDB - gennemsnit på matrixværdier

  3. MongoDB sortering på børn

  4. MongoDB:bedste design til beskedapp