MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB $divide

In MongoDB die $divide Aggregations-Pipeline-Operator dividiert eine Zahl durch eine andere und gibt das Ergebnis zurück.

Um $divide zu verwenden , übergeben Sie die Zahlen in einem Array. Die $divide Der Operator dividiert die erste Zahl durch die zweite Zahl. Mit anderen Worten, die erste Zahl ist der Dividende und die zweite Zahl der Divisor.

Die Argumente können alle gültigen Ausdrücke sein, solange sie in Zahlen aufgelöst werden.

Beispiel

Angenommen, wir haben eine Sammlung namens data mit folgendem Dokument:

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

Wir können den $divide verwenden Operator innerhalb einer Aggregationspipeline, um eine dieser Zahlen durch die andere zu dividieren.

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

Ergebnis:

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

Wenn wir b dividieren wollen Feld durch den a Feld, müssten wir sie austauschen.

Beispiel:

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

Ergebnis:

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

Negative Zahlen

Angenommen, wir fügen unserer Sammlung das folgende Dokument hinzu:

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

Dies schließt eine negative Zahl ein. Aber das ist kein Problem, denn eine negative Zahl ist immer noch eine Zahl, und wir können sicherlich jede Zahl durch eine negative Zahl teilen.

Beispiel:

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

Ergebnis:

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

Hier wird es umgedreht, sodass wir eine negative Zahl durch eine positive Zahl dividieren:

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

Ergebnis:

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

Fügen Sie Ihre eigene Nummer hinzu

Sie sind nicht unbedingt auf die Zahlen in den Dokumenten beschränkt. Sie können Ihre eigenen Zahlen verwenden, wenn Sie ein Feld durch einen festen Betrag dividieren müssen.

Beispiel:

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

Ergebnis:

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