Usando Mongoid, ¿es posible usar "update_all" para insertar un valor en un campo de matriz para todas las entradas que coinciden con un criterio determinado?Con Mongoid, ¿puedo "actualizar_todos" para insertar un valor en un campo de matriz para varias entradas a la vez?
Ejemplo:
class Foo
field :username
field :bar, :type => Array
def update_all_bars
array_of_names = ['foo','bar','baz']
Foo.any_in(username: foo).each do |f|
f.push(:bar,'my_new_val')
end
end
end
Me pregunto si hay una manera de actualizar todos los usuarios a la vez (para empujar el valor 'my_new_val' en el campo "foo" para cada entrada coincidente) usando "update_all "(o algo similar) en lugar de recorrerlos para actualizarlos de a uno por vez. Intenté todo lo que pude pensar y hasta ahora no tuve suerte.
Gracias
Acaba de escribir la respuesta, también debe haber un tercer parámetro 'multi: true' – rubish
tiene razón. Actualizo mi respuesta – shingara
Brillante! ¡Muchas gracias! – orderedchaos