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

MongoDB $divide

I MongoDB er $divide aggregeringspipeline-operatør deler et tal med et andet og returnerer resultatet.

For at bruge $divide , videregive tallene i en matrix. $divide operatør deler det første tal med det andet tal. Med andre ord er det første tal udbyttet, og det andet tal er divisor.

Argumenterne kan være et hvilket som helst gyldigt udtryk, så længe de løses til tal.

Eksempel

Antag, at vi har en samling kaldet data med følgende dokument:

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

Vi kan bruge $divide operatør inden for en aggregeringspipeline for at dividere et af disse tal med det andet.

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

Resultat:

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

Hvis vi vil dividere b felt ved a felt, bliver vi nødt til at bytte dem rundt.

Eksempel:

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

Resultat:

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

Negative tal

Antag, at vi tilføjer følgende dokument til vores samling:

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

Dette inkluderer et negativt tal. Men det er ikke et problem, for et negativt tal er stadig et tal, og vi kan bestemt dividere ethvert tal med et negativt tal.

Eksempel:

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

Resultat:

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

Her vendes det rundt, så vi dividerer et negativt tal med et positivt tal:

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

Resultat:

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

Tilføj dit eget nummer

Du er ikke nødvendigvis begrænset til kun numrene i dokumentet/erne. Du kan bruge dine egne tal, hvis du skal dividere et felt med et fast beløb.

Eksempel:

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

Resultat:

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

  1. MongoDB Aggregation:Beregn løbende totaler fra summen af ​​tidligere rækker

  2. MongoDB slapper af flere arrays

  3. Indstilling af cache_store i en initializer

  4. MongoDB-opdatering med tilstand