sql >> Database teknologi >  >> NoSQL >> MongoDB

Absolut værdi med MongoDB aggregeringsramme

Det er ikke direkte tilgængeligt, men du kan gøre det ved at bruge en $cond operator og en $subtract i et $project som dette (som et JavaScript-objekt):

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

Så hvis amount < 0 , derefter 0 - amount bruges, ellers amount bruges direkte.

OPDATERING

Fra og med 3.2 udgivelse af MongoDB, kan du bruge den nye $abs aggregeringsudtryksoperator for at gøre dette direkte:

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



  1. Kunne ikke oprette forbindelse til server 127.0.0.1:27017

  2. Mongoose near(...)-forespørgsel på 2dsphere-indekseret felt returnerer ikke gyldige resultater

  3. Sådan aktiverer du distribueret/clustered cache, når du bruger redis med spring data cache

  4. Hvordan installerer man php-redis-udvidelsen ved hjælp af den officielle PHP Docker-image-tilgang?