MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Valor absoluto com a estrutura de agregação do MongoDB


Não está disponível diretamente, mas você pode fazer isso usando um $cond operador e um $subtract dentro de um $project assim (como um objeto JavaScript):
{ $project: {
  amount: {
    $cond: [
      { $lt: ['$amount', 0] },
      { $subtract: [0, '$amount'] }, 
      '$amount'
    ]
}}}

Então, se amount < 0 , então 0 - amount é usado, caso contrário amount é usado diretamente.

ATUALIZAÇÃO

A partir do 3.2 versão do MongoDB, você pode usar o novo $abs operador de expressão de agregação para fazer isso diretamente:
{ $project: { amount: { $abs: '$amount' } }