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

Актуализирайте едно поле в MongoDB в един вграден документ

Вероятно можете да използвате позиционния оператор за идентифициране на елемента от масива:

Така че може би нещо като:

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

Но както отбелязва Серджо, трудно е да се разбере структурата на вашите документи въз основа на ограничената информация във вашия въпрос.

Изглежда, че след като отговорих, дойде повече информация и изглежда така:

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

е това, от което се нуждаете. И ще трябва да включите :matches в заявката, така че $ има какво да се позовава.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Получаване на mongoStat чрез mongoDB Java драйвер

  2. embedmongo с reactivemongo процесът не излиза

  3. Трябва ли изрично да затварям връзката?

  4. Как да агрегираме с групиране по и правилно сортиране

  5. Как да актуализирате MongoDB документи с масиви от поддокументи