Saltar al contenido

MongoDB: ¿Cómo actualizar varios documentos con un solo comando?

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 })
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *