Документацията за метод за актуализиране на 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}
)