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' } }