MongoDB proporciona diferentes tipos de operadores de actualización de campo para actualizar los valores de los campos de los documentos y el $inc
operador es uno de ellos. Este operador se usa para aumentar los valores de los campos a la cantidad especificada o para aumentar el campo por el valor dado.
También puede usar este operador en documentos incrustados/anidados. Puede usar este operador en métodos como update(), updateOne(), etc. según sus requisitos.
- Este operador acepta valores positivos y negativos.
- Si el campo dado no existe, este operador creará un campo y establecerá el valor de ese campo.
- Este operador generará un error, si usa este operador con un campo de valor nulo.
- Es una operación atómica en un solo documento.
Sintaxis:
{ $inc: { field1: amount1, field2: amount2, ... } }
En los siguientes ejemplos, estamos trabajando con:
Base de datos: GeeksforGeeks
Colección: contribuyente
Documento: tres documentos que contienen los detalles de los contribuyentes en forma de pares de valor de campo.
Incrementa el valor del campo usando el operador $inc:
En este ejemplo, estamos actualizando los campos del documento de un empleado cuyo nombre es Mohit incrementando el valor del campo de artículos publicados a 10 y disminuyendo el valor del campo de salario a -100.
db.contributor.update({name: "Mohit"}, {$inc: {publisharticles: 10, salary: -100}})
Incremente el valor del campo en la array usando el operador $inc:
En este ejemplo, estamos actualizando el campo del documento de un empleado cuyo nombre es Mohit incrementando el valor de un campo a 10.
db.contributor.update({name: "Priya", "points._id": "g_1"}, {$inc: {"points.$.a":10}})
Incremente el valor del campo en el documento incrustado usando el operador $inc:
En este ejemplo, estamos actualizando el campo del documento de un empleado cuyo nombre es Mohit incrementando el valor de un rango a 2.
db.contributor.update({name: "Amu"}, {$inc: {"personal.rank": 2}})
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