sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB $divide

I MongoDB, $divide aggregeringspipelineoperatör delar ett tal med ett annat och returnerar resultatet.

För att använda $divide , skicka siffrorna i en array. $divide operatören delar det första talet med det andra talet. Med andra ord, den första siffran är utdelningen och den andra siffran är divisorn.

Argumenten kan vara vilket giltigt uttryck som helst så länge de löser sig till siffror.

Exempel

Anta att vi har en samling som heter data med följande dokument:

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

Vi kan använda $divide operatör inom en aggregeringspipeline för att dividera ett av dessa tal med det andra.

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

Resultat:

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

Om vi ​​vill dela b fältet med a fältet skulle vi behöva byta runt dem.

Exempel:

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

Resultat:

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

Negativa tal

Anta att vi lägger till följande dokument i vår samling:

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

Detta inkluderar ett negativt tal. Men det är inget problem, eftersom ett negativt tal fortfarande är ett tal, och vi kan säkert dividera vilket tal som helst med ett negativt tal.

Exempel:

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 }

Här växlas det runt, så att vi dividerar ett negativt tal med ett 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 }

Lägg till ditt eget nummer

Du är inte nödvändigtvis begränsad till bara siffrorna i dokumentet/dokumenten. Du kan använda dina egna nummer om du behöver dela ett fält med ett fast belopp.

Exempel:

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

Resultat:

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

  1. Uppdatera inbäddat objekt inuti array inuti array i MongoDB

  2. JavaScript-designmönster -- Hanterar oönskad asynkroni

  3. Hur jag skrev en Chart-Topping-app på en vecka med Realm och SwiftUI

  4. Felmeddelande:MongoError:dålig autentisering Misslyckades via URI-strängen