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

Jalankan pengurangan peta untuk semua kunci dalam koleksi - mongodb

Menggunakan peta/pengurangan untuk tugas sederhana itu seperti menggunakan palu godam (relatif lambat) untuk memecahkan kacang. kerangka kerja agregasi pada dasarnya diciptakan untuk jenis agregasi sederhana ini (dan dapat melakukan lebih banyak hal untuk Anda!):

db.order.aggregate([
    { "$group":{ "_id":"$customer", "orders":{ "$sum": 1 }}},
    { "$out": "order_total"}
])

Bergantung pada kasus penggunaan Anda, Anda bahkan dapat menghilangkan $out panggung dan mengkonsumsi hasilnya secara langsung.

> db.orders.aggregate([{ "$group":{ "_id":"$customer", "orders":{ "$sum": 1 }}}])
{ "_id" : "b", "orders" : 2 }
{ "_id" : "a", "orders" : 3 }

Perhatikan bahwa dengan koleksi yang sangat besar, kemungkinan besar ini tidak cocok, karena membutuhkan waktu (tetapi masih harus lebih cepat daripada operasi peta/pengurangan).

Untuk menemukan jumlah pesanan dari satu pelanggan, Anda dapat menggunakan kueri sederhana dan menggunakan kursor.count() metode:

> db.orders.find({ "customer": "a" }).count()
3



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Google Maps/NodeJS Sudut:Penanda Tampilan dari Database

  2. Bisakah Anda mencari model lain dengan metode instance di Mongoose?

  3. Apa perintah db.collection.stats() di luwak?

  4. Bagaimana cara menggunakan $hint dalam kueri agregasi MongoDB?

  5. node.js:Mongodb db.collection.find() tidak berfungsi saat collection.insert berfungsi