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

MongoDB $moltiplica

In MongoDB, il $multiply l'operatore della pipeline di aggregazione moltiplica i numeri insieme e restituisce il risultato.

Per utilizzare il $multiply operatore, passa i numeri all'operatore in una matrice.

Gli argomenti possono essere qualsiasi espressione valida, purché si risolvano in numeri.

Esempio

Supponiamo di avere una raccolta chiamata data con il seguente documento:

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

Possiamo usare il $multiply operatore all'interno di una pipeline di aggregazione per moltiplicare due o più di questi numeri insieme.

Moltiplica 2 numeri

Ecco un esempio di moltiplicazione di due numeri insieme.

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

Risultato:

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

Moltiplica 3 numeri

Eccolo di nuovo, tranne che questa volta moltiplichiamo tutti e tre i numeri insieme.

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

Risultato:

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

Valori negativi

I numeri possono essere positivi o negativi.

Supponiamo di aggiungere il seguente documento alla nostra raccolta:

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

Ora eseguiamo di nuovo gli esempi precedenti e vediamo cosa succede:

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

Risultato:

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

Ed eccolo con tre numeri:

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

Risultato:

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

Quando moltiplichi un numero negativo per un numero positivo, il prodotto è sempre negativo. Ma quando moltiplichi due numeri negativi o due numeri positivi, il prodotto è sempre positivo.

Aggiungi il tuo numero

Non sei necessariamente limitato ai soli numeri nel/i documento/i. Puoi utilizzare i tuoi numeri se devi moltiplicare tutti i campi per un importo fisso.

Esempio:

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

Risultato:

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