sql >> Database >  >> NoSQL >> MongoDB

MongoDB $verdelen

In MongoDB, de $divide aggregatiepijplijnoperator deelt het ene getal door het andere en geeft het resultaat terug.

$divide gebruiken , geef de getallen in een array door. De $divide operator deelt het eerste getal door het tweede getal. Met andere woorden, het eerste getal is het deeltal en het tweede getal is de deler.

De argumenten kunnen elke geldige uitdrukking zijn, zolang ze maar worden omgezet in getallen.

Voorbeeld

Stel dat we een verzameling hebben met de naam data met het volgende document:

{ "_id" : 1, "a" : 1000, "b" : 2 }

We kunnen de $divide . gebruiken operator binnen een aggregatiepijplijn om een ​​van die getallen door de andere te delen.

db.data.aggregate(
   [
     { $project: { 
        _id: 0,
        a: 1,
        b: 1,
        result: { $divide: [ "$a", "$b" ] } } 
         }
   ]
)

Resultaat:

{ "a" : 1000, "b" : 2, "result" : 500 }

Als we b . willen delen veld door de a veld, zouden we ze moeten omwisselen.

Voorbeeld:

db.data.aggregate(
   [
     { $project: { 
        _id: 0,
        a: 1,
        b: 1,
        result: { $divide: [ "$b", "$a" ] } } 
         }
   ]
)

Resultaat:

{ "a" : 1000, "b" : 2, "result" : 0.002 }

Negatieve getallen

Stel dat we het volgende document aan onze collectie toevoegen:

{ "_id" : 2, "a" : 1000, "b" : -2 }

Dit is inclusief een negatief getal. Maar dat is geen probleem, want een negatief getal is nog steeds een getal, en we kunnen elk getal zeker delen door een negatief getal.

Voorbeeld:

db.data.aggregate(
   [
     { $project: { 
        _id: 0,
        a: 1,
        b: 1,
        result: { $divide: [ "$a", "$b" ] } } 
         }
   ]
)

Resultaat:

{ "a" : 1000, "b" : 2, "result" : 500 }
{ "a" : 1000, "b" : -2, "result" : -500 }

Hier wordt het omgedraaid, zodat we een negatief getal delen door een positief getal:

db.data.aggregate(
   [
     { $project: { 
        _id: 0,
        a: 1,
        b: 1,
        result: { $divide: [ "$b", "$a" ] } } 
         }
   ]
)

Resultaat:

{ "a" : 1000, "b" : 2, "result" : 0.002 }
{ "a" : 1000, "b" : -2, "result" : -0.002 }

Voeg uw eigen nummer toe

U bent niet noodzakelijkerwijs beperkt tot alleen de cijfers in de documenten. U kunt uw eigen getallen gebruiken als u een veld door een vast bedrag moet delen.

Voorbeeld:

db.data.aggregate(
   [
     { $project: { 
        _id: 0,
        result: { $multiply: [ "$a", 5 ] } } 
         }
   ]
)

Resultaat:

{ "result" : 5000 }
{ "result" : 5000 }

  1. Opvallende kenmerken van MapReduce - Belang van MapReduce

  2. MongoDB:aggregeer $project add-veld met statische waarde

  3. Hoe krijg je alle tellingen van het mangoestmodel?

  4. Mongoose Probeert een niet-gesloten verbinding te openen