Operador $subtract de MongoDB

MongoDB proporciona diferentes tipos de operadores de expresiones aritméticas que se utilizan en las etapas de canalización de agregación y un operador $subtract es uno de ellos. Este operador se usa para restar dos números y devolver la diferencia en los números o para restar dos fechas y devolver la diferencia en milisegundos, o resta la fecha y el número en milisegundos y devuelve la fecha. 

Sintaxis: 

{ $subtract: [ <expression1>, <expression2> ] }

Aquí, los argumentos proporcionados deben ser una expresión válida, como números o una fecha, y el segundo argumento se resta del primero . Si está restando un número de una fecha, entonces el primer argumento de este operador es una fecha .

 Ejemplos:

En los siguientes ejemplos, estamos trabajando con:

Base de datos: GeeksforGeeks

Colección: Empleado

Documento: cuatro documentos que contienen los datos de los empleados en forma de pares campo-valor.

Usando el operador $subtract resta dos números:

En este ejemplo, vamos a restar el valor del campo firstSalary del valor del campo secondSalary usando el operador $subtract.

db.Employee.aggregate([{$match: {department: "Development"}},
... {$project: {result:
... {$subtract:["$secondSalary", "$firstSalary"]}}}])

Usando el operador $restar resta dos fechas:

En este ejemplo, vamos a restar dos fechas, es decir, el valor del campo projectStartDate del valor del campo projectEndDate usando un operador $subtract.

db.Employee.aggregate([{$match: {department: "Testing"}},
... {$project:{diffResult:
... {$subtract:["$projectEndDate", "$projectStartDate"]}}}])

El uso del operador $subtract resta milisegundos de una fecha:

En este ejemplo, vamos a restar 5*24*60*60000 milisegundos (es decir, 5 días) del valor del campo projectEndDate usando un operador $subtract.

db.Employee.aggregate([{$match: {department: "Testing"}},
... {$project: {newprojectEndDate:
... {$subtract:["$projectEndDate", 5*24*60*60000]}}}])

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 *