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

MongoDB $multiplizieren

In MongoDB ist das $multiply Aggregations-Pipeline-Operator multipliziert Zahlen miteinander und gibt das Ergebnis zurück.

Um den $multiply zu verwenden Operator, übergeben Sie die Zahlen in einem Array an den Operator.

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, "c" : 3 }

Wir können den $multiply verwenden Operator innerhalb einer Aggregationspipeline, um zwei oder mehr dieser Zahlen miteinander zu multiplizieren.

2 Zahlen multiplizieren

Hier ist ein Beispiel für die Multiplikation zweier Zahlen.

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

Ergebnis:

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

Multipliziere 3 Zahlen

Hier ist es wieder, außer dass wir dieses Mal alle drei Zahlen miteinander multiplizieren.

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

Ergebnis:

{ "a" : 1000, "b" : 2, "c" : 3, "result" : 6000 }

Negative Werte

Die Zahlen können positiv oder negativ sein.

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

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

Lassen Sie uns nun die vorherigen Beispiele erneut ausführen und sehen, was passiert:

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

Ergebnis:

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

Und hier ist es mit drei Zahlen:

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

Ergebnis:

{ "a" : 1000, "b" : 2, "c" : 3, "result" : 6000 }
{ "a" : 1000, "b" : -2, "c" : -3, "result" : 6000 }

Wenn Sie eine negative Zahl mit einer positiven Zahl multiplizieren, ist das Produkt immer negativ. Aber wenn Sie zwei negative Zahlen oder zwei positive Zahlen multiplizieren, ist das Produkt immer positiv.

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 alle Felder mit einem festen Betrag multiplizieren müssen.

Beispiel:

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

Ergebnis:

{ "result" : 15000 }
{ "result" : 15000 }