En MongoDB, puede actualizar un solo documento en la colección usando el db.collection.updateOne()
método. Este método actualiza un documento en la colección según el filtro.
updateOne()
es un método de shell mongo, que puede actualizar un documento a la vez. Este método actualiza el primer documento que cumple la condición dada en la colección. O, en otras palabras, si varios documentos cumplen la condición dada, este método actualizará el primer documento que coincida con el filtro o la condición dada.
updateOne()
El método solo acepta un documento que contiene expresiones de operadores de actualización.- Este método se puede utilizar en las transacciones de varios documentos.
- Cuando actualiza su documento, el valor del campo _id permanece sin cambios.
- También agrega nuevos campos en el documento.
Sintaxis:
db.collection.updateOne( <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á el primer documento 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 al documento. 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á el documento que coincida con la condición dada o si alguno de los documentos de la colección no coincide con el filtro dado, entonces este método insertará un nuevo documento (es decir, actualizará el 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 actualizado.
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.
Actualizando el primer documento:
En este ejemplo, estamos actualizando el valor del campo de departamento en el primer documento de la colección de empleados utilizando el db.collection.updateOne()
método. O en otras palabras, actualizamos el departamento de Sonu. Entonces, antes de actualizar, el departamento de Sonu es «Desarrollo» y ahora, después de actualizar, el departamento de Sonu es «RRHH».
db.employee.update({}, { $set: {department: "HR"}})
Aquí, $set
hay un operador de actualización y se usa para actualizar el valor del campo de departamento.
Actualización de un solo documento que coincida con el filtro:
En este ejemplo, estamos actualizando un solo documento en la colección de empleados que coincide con el filtro dado, es decir, sucursal: «ECE». O dicho de otro modo, actualizar el departamento a “Desarrollo” del empleado cuya sucursal es ECE.
Documento de actualización:
En este ejemplo, estamos actualizando un documento en la colección de empleados. Aquí varios documentos coinciden con el filtro dado, por lo que este método actualizará el primer documento entre estos documentos como se muestra en la imagen a continuación:
Actualización de múltiples campos en el documento:
En este ejemplo, estamos actualizando múltiples campos en un único documento ( "_id" : ObjectId("5e49813692e6dfa3fc48dd74")
).
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