sql >> Databáze >  >> NoSQL >> MongoDB

Je možné definovat klíč při vkládání do mongodb

$push se používá k připojení hodnoty k poli. Ve vašem příkladu measurements je pole a Mongo připojuje $newData jako její první prvek. To vysvětluje 0 index mezi measurements a levels . V požadovaném výsledku measurements je objekt ekvivalentní $newData (tj. má levels vlastnost, která má zase uvnitř pole objektů).

Každý z následujících příkladů by měl dosáhnout toho, co chcete:

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

Poznámka:$push bude flexibilnější, pokud chcete přidávat data s budoucími aktualizacemi, zatímco $set přirozeně přepíše dané pole.




  1. TypeError:Nelze přečíst vlastnost 'subject' hodnoty null

  2. Memcache v/s redis pro udržení trvalých relací?

  3. získání chyby ReplicaSetNoPrimary a MongoServerSelectionError při připojování MongoDB s nodejs

  4. Nasazování aplikací na CDP Operational Database (COD)