sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB $divide

V MongoDB, $divide operátor agregačního kanálu vydělí jedno číslo druhým a vrátí výsledek.

Chcete-li použít $divide , předejte čísla v poli. $divide operátor vydělí první číslo druhým číslem. Jinými slovy, první číslo je dělenec a druhé číslo je dělitel.

Argumenty mohou být jakýkoli platný výraz, pokud se vyhodnotí na čísla.

Příklad

Předpokládejme, že máme kolekci nazvanou data s následujícím dokumentem:

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

Můžeme použít $divide operátora v rámci agregačního kanálu k dělení jednoho z těchto čísel druhým.

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

Výsledek:

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

Pokud chceme dělit b pole u a pole, museli bychom je vyměnit.

Příklad:

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

Výsledek:

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

Záporná čísla

Předpokládejme, že do naší sbírky přidáme následující dokument:

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

To zahrnuje záporné číslo. Ale to není problém, protože záporné číslo je stále číslo a určitě můžeme jakékoli číslo vydělit záporným číslem.

Příklad:

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

Výsledek:

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

Zde se to přepne tak, že vydělíme záporné číslo kladným číslem:

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

Výsledek:

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

Přidejte své vlastní číslo

Nejste nutně omezeni pouze na čísla v dokumentu/dokumentech. Pokud potřebujete pole vydělit pevnou částkou, můžete použít svá vlastní čísla.

Příklad:

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

Výsledek:

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

  1. MongoDB - Odstranit dokument

  2. Jak formátovat čísla s čárkami v SQL

  3. Jednoduchý příklad StackExchange.Redis C#

  4. MongoDB:agregujte pole $project add se statickou hodnotou