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

Metode agregat mongoid pada dokumen yang disematkan?

Ya, MapReduce akan berfungsi. Anda juga dapat menggunakan kursor untuk memproses hasil kueri. Seperti:

min = 99999999;
max = -99999999;
sum = 0;
count = 0
db.School.find({}).forEach(function(s) {
    if (s.first.events.first.cost < min)
        min = s.first.events.first.cost;
    if (s.first.events.first.cost > max)
        max = s.first.events.first.cost;
    sum += s.first.events.first.cost;
    ++count;
});

Anda sekarang memiliki min dan max dan dapat menghitung rata-rata dan mean dari jumlah dan hitungan.

Mongodb tidak memiliki kemampuan untuk menghitung fungsi agregat dalam bahasa kuerinya secara langsung. Sebenarnya pernyataan tersebut tidak sepenuhnya benar, karena ada fungsi count() untuk menghitung jumlah hasil yang dikembalikan oleh sebuah query, dan ada fungsi group(). Tetapi fungsi grup sangat mirip dengan MapReduce, dan tidak dapat digunakan pada basis data sharding. Jika Anda tertarik dengan fungsi grup, lihat:http://www. mongodb.org/display/DOCS/Aggregation#Aggregation-Group




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Apa cara yang tepat untuk membuat kueri MongoDB sinkron di Node.js?

  2. Bagaimana mencegah memasukkan fungsi pembaruan ke MongoDB dari Meteor?

  3. PHP tidak dapat menemukan driver MongoDB

  4. Menghubungkan ke mongodb menggunakan luwak dan Fixie (tambahan Heroku)

  5. Bagaimana cara mengubah tipe data bidang bersarang dalam dokumen Mongo?