MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Възможно ли е да се дефинира ключът при вмъкване в mongodb

$push се използва за добавяне на стойност към масив. Във вашия пример, measurements е масив и Mongo добавя $newData като негов първи елемент. Това обяснява 0 индекс между measurements и levels . В желания от вас резултат, measurements е обект, еквивалентен на $newData (т.е. има levels свойство, което от своя страна има масив от обекти в него).

Всеки от следните примери трябва да постигне това, което искате:

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

Забележка:$push ще бъде по-гъвкав, ако искате да добавите данни с бъдещи актуализации, докато $set естествено ще презапише даденото поле.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да направите пълнотекстово търсене в MongoDB

  2. Сортиране без значение от главни букви в MongoDB

  3. Вземете генериран скрипт в MongoDB C# драйвер

  4. Грешка в шината на Mongodb MongoClient.connect() за Raspberry Pi ARM

  5. MongoDB Вътрешно внедряване на индексиране?