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 }