Solución:
La actualización múltiple se agregó recientemente, por lo que solo está disponible en las versiones de desarrollo (1.1.3). Desde el shell, haces una actualización múltiple pasando true
como el cuarto argumento para update()
, donde el tercer argumento es el argumento upsert:
db.test.update({foo: "bar"}, {$set: {test: "success!"}}, false, true);
Para las versiones de mongodb 2.2+, debe configurar la opción multi true para actualizar varios documentos a la vez.
db.test.update({foo: "bar"}, {$set: {test: "success!"}}, {multi: true})
Para las versiones de mongodb 3.2+, también puede usar un nuevo método updateMany()
para actualizar varios documentos a la vez, sin la necesidad de separar multi
opción.
db.test.updateMany({foo: "bar"}, {$set: {test: "success!"}})
A partir de la v3.3, puede usar updateMany
db.collection.updateMany(
<filter>,
<update>,
{
upsert: <boolean>,
writeConcern: <document>,
collation: <document>,
arrayFilters: [ <filterdocument1>, ... ]
}
)
En v2.2, la función de actualización toma la siguiente forma:
db.collection.update(
<query>,
<update>,
{ upsert: <boolean>, multi: <boolean> }
)
https://docs.mongodb.com/manual/reference/method/db.collection.update/
Para Versión de Mongo> 2.2, agregue un campo múltiple y configúrelo en verdadero
db.Collection.update({query},
{$set: {field1: "f1", field2: "f2"}},
{multi: true })