MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

MongoDB $bagi

Di MongoDB, $divide operator pipa agregasi membagi satu angka dengan angka lainnya dan mengembalikan hasilnya.

Untuk menggunakan $divide , meneruskan angka-angka dalam array. $divide operator akan membagi angka pertama dengan angka kedua. Dengan kata lain, angka pertama adalah pembagian, dan angka kedua adalah pembagi.

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 }

Kita dapat menggunakan $divide operator dalam pipa agregasi untuk membagi salah satu dari angka-angka itu dengan yang lain.

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

Hasil:

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

Jika kita ingin membagi b bidang dengan a lapangan, kita perlu menukarnya.

Contoh:

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

Hasil:

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

Bilangan Negatif

Misalkan kita menambahkan dokumen berikut ke koleksi kita:

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

Ini termasuk angka negatif. Tapi itu tidak masalah, karena bilangan negatif tetaplah bilangan, dan kita pasti bisa membagi bilangan apapun dengan bilangan negatif.

Contoh:

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

Hasil:

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

Ini dibolak-balik, sehingga kita membagi bilangan negatif dengan bilangan positif:

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

Hasil:

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

Tambahkan Nomor Anda Sendiri

Anda tidak harus dibatasi hanya pada angka-angka dalam dokumen. Anda dapat menggunakan nomor Anda sendiri jika Anda perlu membagi bidang dengan jumlah yang tetap.

Contoh:

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

Hasil:

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

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Luwak, urutkan kueri berdasarkan bidang yang diisi

  2. Lembar Cheat Kinerja untuk MongoDB

  3. Node + Mongoose:Dapatkan ID yang terakhir dimasukkan?

  4. apakah ada cara untuk menghasilkan ObjectId secara otomatis ketika Model luwak baru?

  5. File yang dibuat MongoDB