sql >> Base de Datos >  >> NoSQL >> MongoDB

Mongodb/Mongoid:¿qué significa {:multi => true}?

La documentación del método de actualización de MongoDB establece lo siguiente:

Así que básicamente el multi El parámetro es lo que habilita el update_all comportamiento en la pregunta a la que se vinculó.

En respuesta a su segunda pregunta:sí, Mongoid tiene esta función incorporada ahora. La referencia de la documentación está aquí . Pero puedes usarlo así:

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

Actualizar

En el caso de que desee insertar un valor en un campo de matriz, aún deberá usar la biblioteca MongoDB directamente, ya que Mongoid update_all El método solo admite $set método de actualización de la base de datos (que se puede usar para actualizar una matriz completa, pero no para insertar valores en ella).

El ejemplo en la respuesta a la pregunta a la que se vinculó funcionaría, lo he copiado debajo de aquellos que se topan con esta pregunta (gracias shingara !):

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