MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Czy można zdefiniować klucz podczas wstawiania do mongodb?

$push służy do dołączania wartości do tablicy. W twoim przykładzie measurements jest tablicą, a Mongo dołącza $newData jako pierwszy element. To wyjaśnia 0 indeks między measurements i levels . W żądanym wyniku measurements jest obiektem równoważnym $newData (tzn. ma levels właściwość, która z kolei zawiera tablicę obiektów).

Każdy z poniższych przykładów powinien osiągnąć to, co chcesz:

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

Uwaga:$push będzie bardziej elastyczny, jeśli chcesz dołączać dane do przyszłych aktualizacji, podczas gdy $set naturalnie nadpisze dane pole.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Perl Mongo znajdź identyfikator obiektu

  2. Unikalne wyniki Rails &Mongoid

  3. BŁĄD:proces potomny nie powiódł się, zakończono z błędem numer 48

  4. Zapytanie MongoDB na wypełnionych polach

  5. mangusta wypełnij pole bez opcji ref