MongoDB: actualice varios documentos con MongoShell

En MongoDB, puede actualizar varios documentos en la colección usando el método. Este método actualiza todos los documentos de la colección que coinciden con el filtro dado. db.collection.updateMany()

updateMany()es un método de shell mongo, que puede actualizar varios documentos. Este método solo acepta los documentos que contienen expresiones de operador de actualización.

  • El método updateMany() se puede utilizar en las transacciones de varios documentos.
  • Cuando actualiza sus documentos, el valor del campo _id no cambia.
  • También agrega nuevos campos en los documentos.

Sintaxis:

db.collection.updateMany(
    <filter>,
    <update>,
   {
     upsert: <boolean>,
     writeConcern: <document>,
     collation: <document>,
     arrayFilters: [ <filterdocument1>, <filterdocument2>... ],
     hint: <document|string>        
   }
)

Parámetros:

filter: Primer parámetro de este método. Especifica los criterios de selección para la actualización. El tipo de este parámetro es documento. Si contiene un documento vacío, es decir, {}, este método actualizará todos los documentos de la colección con el documento de actualización.

update: Segundo parámetro de este método. El tipo de este parámetro es documento o canalización y contiene modificaciones que se aplicarán a los documentos. Puede ser un documento de actualización (solo contiene expresiones de operadores de actualización) o una canalización de agregación (solo contiene etapas de agregación, es decir, $addFields, $project, $replaceRoot).

Parámetros opcionales:

  • upsert: el valor de este parámetro es verdadero o falso. Si el valor de este parámetro es verdadero, entonces el método actualizará los documentos que coincidan con la condición dada o si alguno de los documentos en la colección no coincide con el filtro dado, entonces este método insertará un nuevo documento (es decir, actualizará Documento). ) en la colección. El tipo de este parámetro es booleano y el valor predeterminado de este parámetro es falso.
  • writeConcern: solo se usa cuando no desea usar la preocupación de escritura predeterminada. El tipo de este parámetro es documento.
  • colación: Especifica el uso de la colación para las operaciones. Permite a los usuarios especificar las reglas específicas del idioma para la comparación de strings, como reglas para mayúsculas y minúsculas y acentos. El tipo de este parámetro es documento.
  • arrayFilters: es una array de documentos de filtro que indica qué elementos de la array modificar para una operación de actualización en un campo de array. El tipo de este parámetro es una array.
  • sugerencia: es un documento o campo que especifica el índice que se utilizará para admitir el filtro. Puede tomar un documento de especificación de índice o la string de nombre de índice y si especifica un índice que no existe, dará un error.

Retorno: este método devolverá un documento que contiene un valor booleano reconocido como verdadero (si el problema de escritura está habilitado) o falso (si el problema de escritura está deshabilitado), matchedCount representa la cantidad de documentos coincidentes, modifiedCount representa la cantidad de documentos modificados, y upsertedId representa el _id del documento alterado.

Actualizar todos los documentos

En MongoDB, puede actualizar todos los documentos de la colección usando el db.collection.updateMany() método.

Sintaxis:

db.collection.updateMany({}, {update})

Ejemplos:

En los siguientes ejemplos, estamos trabajando con:

Database: GeeksforGeeks
Collection: employee
Document: three documents that contain the details of the employees in the form of field-value pairs.

Actualización de todos los documentos:

En este ejemplo, estamos actualizando todos los documentos de cobro de los empleados. O lo que es lo mismo, estamos actualizando el sueldo de todos los empleados.

db.employee.updateMany({}, {$set: {salary: 50000}}) 

Actualización de varios documentos que coincidan con el filtro:

En este ejemplo, estamos actualizando varios documentos de la colección de empleados que coinciden con el filtro dado. O dicho de otro modo, estamos actualizando el salario de aquellos empleados cuya sucursal es CSE.

Actualización de varios campos de los documentos:

En este ejemplo, estamos actualizando varios campos de los documentos que coinciden con el filtro dado de la colección de empleados.

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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