MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Valeur absolue avec le framework d'agrégation MongoDB

Ce n'est pas directement disponible, mais vous pouvez le faire en utilisant un $cond opérateur et un $subtract dans un $project comme ceci (en tant qu'objet JavaScript):

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

Donc si amount < 0 , puis 0 - amount est utilisé, sinon amount est utilisé directement.

MISE À JOUR

Depuis la 3.2 version de MongoDB, vous pouvez utiliser le nouveau $abs opérateur d'expression d'agrégation pour le faire directement :

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