Di MongoDB, $multiply
operator pipeline agregasi mengalikan angka dan mengembalikan hasilnya.
Untuk menggunakan $multiply
operator, berikan nomor ke operator dalam array.
Argumen dapat berupa ekspresi apa pun yang valid, selama argumen tersebut menghasilkan angka.
Contoh
Misalkan kita memiliki koleksi yang disebut data
dengan dokumen berikut:
{ "_id" : 1, "a" : 1000, "b" : 2, "c" : 3 }
Kita dapat menggunakan $multiply
operator dalam pipa agregasi untuk mengalikan dua atau lebih dari angka-angka itu bersama-sama.
Perkalian 2 Angka
Berikut ini contoh mengalikan dua angka.
db.data.aggregate(
[
{ $project: {
_id: 0,
a: 1,
b: 1,
result: { $multiply: [ "$a", "$b" ] } }
}
]
)
Hasil:
{ "a" : 1000, "b" : 2, "result" : 2000 }
Perkalian 3 Angka
Ini dia lagi, kecuali kali ini kita mengalikan ketiga angka tersebut.
db.data.aggregate(
[
{ $project: {
_id: 0,
a: 1,
b: 1,
c: 1,
result: { $multiply: [ "$a", "$b", "$c" ] } }
}
]
)
Hasil:
{ "a" : 1000, "b" : 2, "c" : 3, "result" : 6000 }
Nilai Negatif
Angka bisa positif atau negatif.
Misalkan kita menambahkan dokumen berikut ke koleksi kita:
{ "_id" : 2, "a" : 1000, "b" : -2, "c" : -3 }
Sekarang mari kita jalankan kembali contoh sebelumnya dan lihat apa yang terjadi:
db.data.aggregate(
[
{ $project: {
_id: 0,
a: 1,
b: 1,
result: { $multiply: [ "$a", "$b" ] } }
}
]
)
Hasil:
{ "a" : 1000, "b" : 2, "result" : 2000 } { "a" : 1000, "b" : -2, "result" : -2000 }
Dan ini dia dengan tiga angka:
db.data.aggregate(
[
{ $project: {
_id: 0,
a: 1,
b: 1,
c: 1,
result: { $multiply: [ "$a", "$b", "$c" ] } }
}
]
)
Hasil:
{ "a" : 1000, "b" : 2, "c" : 3, "result" : 6000 } { "a" : 1000, "b" : -2, "c" : -3, "result" : 6000 }
Bila Anda mengalikan angka negatif dengan angka positif maka hasilnya selalu negatif. Tetapi ketika Anda mengalikan dua bilangan negatif atau dua bilangan positif, hasilnya selalu positif.
Tambahkan Nomor Anda Sendiri
Anda tidak perlu dibatasi hanya pada angka-angka dalam dokumen. Anda dapat menggunakan nomor Anda sendiri jika Anda perlu mengalikan semua bidang dengan jumlah yang tetap.
Contoh:
db.data.aggregate(
[
{ $project: {
_id: 0,
result: { $multiply: [ "$a", "$b", "$c", 2.5 ] } }
}
]
)
Hasil:
{ "result" : 15000 } { "result" : 15000 }