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

Zaktualizuj jedno pole w MongoDB w jednym osadzonym dokumencie

Prawdopodobnie możesz użyć operatora pozycyjnego aby zidentyfikować element tablicy:

Więc może coś takiego:

User.collection.update(
    { :_id => user.id, :matches => BSON::ObjectId('4e40238dbc9f6ec5a6000eed') },
    { :$set => { 'alert.matches.$' => matches } }
)

Ale jak zauważa Sergio, trudno jest określić strukturę twoich dokumentów na podstawie ograniczonych informacji w twoim pytaniu.

Wygląda na to, że po mojej odpowiedzi pojawiło się więcej informacji i wygląda to tak:

{ :$set => { 'alerts.$.matches' => ... } }

jest tym, czego potrzebujesz. I musisz dołączyć :matches w zapytaniu, aby $ ma do czego się odnieść.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak używać GridFS do przechowywania obrazów przy użyciu Node.js i Mongoose?

  2. Klaster mongodb z punktem końcowym ELB jako dns

  3. mongodb :zwiększanie maksymalnej liczby połączeń w mongodb

  4. Jak $pchnąć pole w zależności od warunku?

  5. MongoDB:jak policzyć liczbę kluczy w dokumencie?