El método updateMany() actualiza todos los documentos en las colecciones de MongoDB que coinciden con la consulta dada. Cuando actualiza su documento, el valor del campo _id permanece sin cambios. Este método también puede agregar nuevos campos en el documento. Especifique un documento vacío ( {} ) en los criterios de selección para actualizar todos los documentos de la colección.
- Este método puede aceptar documentos que solo contienen expresiones de operador de actualización.
- Este método también puede aceptar canalización de agregación.
- En este método, si el valor de upsert se establece en verdadero para la colección fragmentada, debe incluir la clave de fragmento completa en los criterios de filtro/selección.
- La operación de actualización fallará si esta operación cambia el tamaño del documento.
- También puede utilizar este método dentro de transacciones de varios documentos.
Sintaxis:
db.Collection_name.updateMany({Selection_Criteria},{$set:{Update_Data}},
{
upsert: <booleano>,
multi: <booleano>,
escribirPreocupación: <documento>,
intercalación: <documento>,
arrayFilters: [<filtrodocumento1>, … ],
pista: <documento|string>
})
Parámetros:
- El primer parámetro es el valor Más antiguo en forma de Documentos. Los documentos son una estructura creada a partir de pares de archivos y valores, similares a los objetos JSON. Especifique un documento vacío ( {} ) para actualizar todos los documentos de la colección.
- El segundo parámetro debe contener una palabra clave $set para actualizar el siguiente valor de documento específico.
- El tercer parámetro es opcional.
Parámetros opcionales:
- Upsert: el valor predeterminado de este parámetro es falso. Cuando es verdadero, creará un nuevo documento en la colección cuando ningún documento coincida con la condición dada en el método de actualización.
- Multi: el valor predeterminado de este parámetro es falso. Cuando es verdadero, el método de actualización actualiza todos los documentos que cumplen la condición de consulta. De lo contrario, actualizará solo un documento.
- writeConcern: solo se usa cuando no desea usar la preocupación de escritura predeterminada. El tipo de este parámetro es un documento.
- Colación: Especifica el uso de la colación para operaciones. Permite a los usuarios especificar las reglas específicas del idioma para la comparación de strings, como mayúsculas y minúsculas y acentos. El tipo de este parámetro es un 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.
Devolver:
Este método devuelve un documento que contiene los siguientes campos:
- matchedCount: este campo contiene el número de documentos coincidentes.
- contiene
- contiene
- reconocido: el valor de este campo es verdadero si el problema de escritura estaba habilitado o falso si el problema de escritura estaba deshabilitado.
Ejemplos:
En los siguientes ejemplos, estamos trabajando con:
Base de datos: gfg
Colección: estudiante
Documento: Tres documentos contienen el nombre y la edad de los estudiantes .
Actualizar documento único
db.student.updateMany({name: "aaksh"}, {$set:{age: 20}})
Aquí, actualizamos la edad de un estudiante cuyo nombre es aaksh de 15 a 20 usando el método updateMany().
Actualizar varios documentos
db.student.updateMany({age:18},{$set:{eligible:"true"}})
Aquí, actualizamos todos los documentos coincidentes cuya edad es 18 para elegibles: verdadero
Actualizar documento con upsert
db.student.updateMany({age: 18}, {$set: {eligible: false}}, {upsert: true})
Aquí, actualizamos todos los documentos que coincidieron con la condición dada.
Publicación traducida automáticamente
Artículo escrito por KapilChhipa y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA