I MongoDB er $divide
aggregeringspipeline-operatør deler et tal med et andet og returnerer resultatet.
For at bruge $divide
, videregive tallene i en matrix. $divide
operatør deler det første tal med det andet tal. Med andre ord er det første tal udbyttet, og det andet tal er divisor.
Argumenterne kan være et hvilket som helst gyldigt udtryk, så længe de løses til tal.
Eksempel
Antag, at vi har en samling kaldet data
med følgende dokument:
{ "_id" : 1, "a" : 1000, "b" : 2 }
Vi kan bruge $divide
operatør inden for en aggregeringspipeline for at dividere et af disse tal med det andet.
db.data.aggregate(
[
{ $project: {
_id: 0,
a: 1,
b: 1,
result: { $divide: [ "$a", "$b" ] } }
}
]
)
Resultat:
{ "a" : 1000, "b" : 2, "result" : 500 }
Hvis vi vil dividere b
felt ved a
felt, bliver vi nødt til at bytte dem rundt.
Eksempel:
db.data.aggregate(
[
{ $project: {
_id: 0,
a: 1,
b: 1,
result: { $divide: [ "$b", "$a" ] } }
}
]
)
Resultat:
{ "a" : 1000, "b" : 2, "result" : 0.002 }
Negative tal
Antag, at vi tilføjer følgende dokument til vores samling:
{ "_id" : 2, "a" : 1000, "b" : -2 }
Dette inkluderer et negativt tal. Men det er ikke et problem, for et negativt tal er stadig et tal, og vi kan bestemt dividere ethvert tal med et negativt tal.
Eksempel:
db.data.aggregate(
[
{ $project: {
_id: 0,
a: 1,
b: 1,
result: { $divide: [ "$a", "$b" ] } }
}
]
)
Resultat:
{ "a" : 1000, "b" : 2, "result" : 500 } { "a" : 1000, "b" : -2, "result" : -500 }
Her vendes det rundt, så vi dividerer et negativt tal med et positivt tal:
db.data.aggregate(
[
{ $project: {
_id: 0,
a: 1,
b: 1,
result: { $divide: [ "$b", "$a" ] } }
}
]
)
Resultat:
{ "a" : 1000, "b" : 2, "result" : 0.002 } { "a" : 1000, "b" : -2, "result" : -0.002 }
Tilføj dit eget nummer
Du er ikke nødvendigvis begrænset til kun numrene i dokumentet/erne. Du kan bruge dine egne tal, hvis du skal dividere et felt med et fast beløb.
Eksempel:
db.data.aggregate(
[
{ $project: {
_id: 0,
result: { $multiply: [ "$a", 5 ] } }
}
]
)
Resultat:
{ "result" : 5000 } { "result" : 5000 }