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

Memetakan/Mengurangi dan Mengurutkan Dokumen Bersarang

MapReduce adalah operasi yang mengulang sekelompok dokumen dan melakukan operasi. Saya tidak sepenuhnya yakin itu yang Anda inginkan, tetapi mungkin Anda memposting bentuk yang lebih sederhana dari masalah Anda yang sebenarnya. Bagaimanapun kode berikut bekerja dengan memancarkan 3 kali untuk satu dokumen Anda, menggunakan _id dokumen sebagai kunci untuk fungsi pengurangan.

doc = {_id : 16, days : { 1 : 123, 2 : 129, 3 : 140, 4 : 56, 5 : 57, 6 : 69, 7 : 80 }};
db.so.insert(doc);

map = function() {
  emit(this._id, this.days["1"]);
  emit(this._id, this.days["3"]); 
  emit(this._id, this.days["7"]); 
}

reduce = function (k, vals) {
  var sum = 0;
  vals.forEach(function (v) {sum += v;});
  return sum;
}

res = db.so.mapReduce(map, reduce, {out : {inline : 1}});
res.find();



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Pencarian peka huruf besar/kecil di Mongo

  2. Geospasial $dekat dalam nilai bidang dokumen saat ini

  3. Pemetaan POJO yang efisien ke/dari Java Mongo DBObject menggunakan Jackson

  4. Pembaruan MongoDB. Mencoba mengatur satu bidang dari properti yang lain

  5. Apakah normal memiliki banyak koneksi antara node dan mongo saat menggunakan luwak?