sql >> Base de Datos >  >> NoSQL >> MongoDB

Valor absoluto con el marco de agregación de MongoDB

No está disponible directamente, pero puede hacerlo usando un $cond operador y un $subtract dentro de un $project así (como un objeto de JavaScript):

{ $project: {
  amount: {
    $cond: [
      { $lt: ['$amount', 0] },
      { $subtract: [0, '$amount'] }, 
      '$amount'
    ]
}}}

Entonces si amount < 0 , luego 0 - amount se utiliza, de lo contrario amount se usa directamente.

ACTUALIZAR

A partir de la 3.2 lanzamiento de MongoDB, puede usar el nuevo $abs operador de expresión de agregación para hacer esto directamente:

{ $project: { amount: { $abs: '$amount' } }