sql >> Database >  >> NoSQL >> MongoDB

Absolute waarde met MongoDB-aggregatieframework

Het is niet direct beschikbaar, maar je kunt het doen met een $cond operator en een $subtract binnen een $project zoals dit (als een JavaScript-object):

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

Dus als amount < 0 , dan 0 - amount wordt gebruikt, anders amount wordt direct gebruikt.

UPDATE

Vanaf de 3.2 release van MongoDB, kunt u de nieuwe $abs . gebruiken operator voor aggregatie-expressie om dit rechtstreeks te doen:

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



  1. MongoDB - $set om het Array-element bij te werken of te pushen

  2. Hoe EN en NIET in MongoDB $ tekst zoeken

  3. MongoDB $concat

  4. MongoDB:tel het aantal items in een array