MongoDB proporciona diferentes tipos de operadores de actualización de campos para actualizar los valores de los campos de los documentos que coinciden con la condición especificada. La siguiente tabla contiene los operadores de actualización de campo:
Operador | Descripción |
---|---|
$fechaactual | Este operador se utiliza para establecer el valor de un campo en la fecha actual, ya sea como fecha o marca de tiempo. |
$inc | Este operador se utiliza para incrementar el valor del campo en la cantidad especificada. |
$min | Este operador se usa solo para actualizar el campo si el valor especificado es menor que el valor del campo existente |
$máx. | Este operador se usa solo para actualizar el campo si el valor especificado es mayor que el valor del campo existente. |
$mul | Este operador se utiliza para multiplicar el valor del campo por la cantidad especificada. |
$renombrar | Este operador se utiliza para cambiar el nombre de un campo. |
$setOnInsert | Este operador se utiliza para establecer el valor de un campo si una actualización da como resultado una inserción de un documento. No tiene efecto sobre las operaciones de actualización que modifican documentos existentes. |
En los siguientes ejemplos, estamos trabajando con:
Base de datos:
Colección GeeksforGeeks : Documento del empleado
: dos documentos que contienen los detalles de los empleados en forma de pares de campo-valor.
Actualizar el valor del campo de fecha usando el $currentDate
operador:
En el ejemplo, estamos actualizando el valor del campo Fecha de incorporación del documento de un empleado cuyo nombre es Om.
db.Employee.updateOne({"name.first": "Om"}, {$currentDate: {joiningDate: true}})
Incrementa el valor del campo usando el $inc
operador:
En este ejemplo, estamos actualizando el campo de salario del documento de un empleado cuyo nombre es Sumit.
db.Employee.update({"name.first": "Sumit"}, {$inc: {"personalDetails.salary": 3000}})
Comparando valores (o números) usando $max
el operador:
En este ejemplo, estamos comparando valores (o números) de los campos de salario con el valor especificado, es decir, 40000. Aquí, el valor especificado es mayor que el valor actual. Entonces, $max
el operador actualiza el valor del campo de salario con la ayuda del método update() a 40000.
db.Employee.update({"name.first": "Sumit"}, {$max: {"personalDetails.salary": 40000}})
Comparando valores (o números) usando $min
el operador:
En este ejemplo, estamos comparando valores (o números) de los campos de salario con el valor especificado, es decir, 5000. Aquí, el valor especificado es menor que el valor actual. Asi que. $min
El operador actualiza el valor del campo de salario con la ayuda del método update() a 5000.
db.Employee.update({"name.first": "Sumit"}, {$min: {"personalDetails.salary": 5000}})
Multiplicando el valor de un campo usando el $mul
operador:
En este ejemplo, estamos multiplicando el valor del campo de salario por 2 en el documento que coincide con la condición especificada, es decir, nombre = Sumit.
db.Employee.update({"name.first": "Sumit"}, {$mul: {"personalDetails.salary": 2}})
Cambiar el nombre de un campo usando el $rename
operador:
En este ejemplo, estamos cambiando el nombre del campo experienciaAño a experiencia en el documento del empleado cuyo nombre es Om.
db.Employee.update({"name.first": "Om"}, {$rename: {"department": "unit"}})
Insertar nuevos campos en nuevos documentos usando $setOnInsert
:
En este ejemplo, estamos creando un nuevo documento en la colección de empleados con la ayuda del método update() al establecer el valor del campo upsert en verdadero y usar el operador $setOneInsert para asignar los valores a los campos de departamento y salario en el documento.
db.Example.update({name: {first: "Mona", last: "Singh"}, personalDetails: {age: 24, contactInfo: 4578934201}}, {$setOnInsert: {department: "HR", salary: 30000}}, {upsert: true})
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