sql >> Databáze >  >> NoSQL >> MongoDB

Mongodb/Mongoid - co znamená {:multi => true}

Dokumentace pro metodu aktualizace MongoDB uvádí následující:

Takže v podstatě multi Parametr umožňuje update_all chování v otázce, na kterou jste odkazovali.

Odpověď na vaši druhou otázku:ano – Mongoid má tuto funkci již zabudovanou. Odkaz na dokumentaci je zde . Ale můžete to použít takto:

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

Aktualizovat

V případě, že chcete vložit hodnotu do pole pole, budete stále muset přímo použít knihovnu MongoDB, protože Mongoid update_all metoda podporuje pouze $set metoda aktualizace databáze (kterou lze použít k aktualizaci celého pole, ale nelze do něj vkládat hodnoty).

Příklad v odpovědi na otázku, na kterou jste odkazovali, by fungoval, zkopíroval jsem ho pod ty, kteří na tuto otázku narazili (díky shingara !):

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


  1. Vrátit pouze konkrétní pole pro dotaz v Spring Data MongoDB

  2. mongodb:dotaz na časové období mezi dvěma datovými poli

  3. Jak nakonfigurovat spring-data-mongodb pro použití sady replik prostřednictvím vlastností

  4. Průměrné agregační dotazy v Meteoru