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

Mongodb/Mongoid - какво означава {:multi => true}

Документацията за метод за актуализиране на MongoDB заявява следното:

Така че основно multi е това, което позволява update_all поведение във въпроса, към който сте се свързали.

В отговор на втория ви въпрос:да - Mongoid има тази функция вградена сега. Препратката към документацията е тук . Но можете да го използвате по следния начин:

User.where(:gender => "Male").update_all(:title => "Mr")

Актуализация

В случай, че искате да изпратите стойност в поле на масив, пак ще трябва да използвате директно библиотеката MongoDB, тъй като Mongoid update_all поддържа само $set метод за актуализиране на база данни (който може да се използва за актуализиране на цял масив, но не и за насочване на стойности към него).

Примерът в отговора на въпроса, към който сте се свързали, би работил, копирах го под тези, които се натъкват на този въпрос (благодаря шингара !):

User.collection.update( 
  {'$in' => {:gender => 'Male'}}, 
  {'$push' => {:titles => 'Mr'}},
  {:multi => true}
)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. дублиране на колекция в себе си

  2. Как да свържете клиенти на mongodb към локален Meteor MongoDB

  3. MongoDB - Проектиране на поле, което не винаги съществува

  4. Намерете записи от преди 7 дни от сега в MongoDB

  5. Стъпки за свързване на MongoDB и Solr с помощта на DataImportHandler