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

Peta MongoDB/Kurangi pertanyaan agregasi Array

  1. "Chunking" berasal dari kode Anda:parameter nilai fungsi pengurangan Anda dapat berisi {time:<timestamp>,value:<value>} dipancarkan dari fungsi peta Anda, atau {time:[<timestamps>],value:[<values]} dikembalikan dari panggilan sebelumnya ke fungsi pengurangan Anda.

  2. Saya tidak tahu apakah itu akan terjadi dalam praktik, tetapi itu bisa terjadi secara teori.

  3. Cukup minta fungsi peta Anda memancarkan jenis objek yang sama dengan yang dikembalikan oleh fungsi reduksi Anda, yaitu emit(<id>, {time: [ts], value: [P[1]]}) , dan ubah fungsi pengurangan Anda sesuai, yaitu Array.push.apply(result.time, V.time) dan juga untuk result.value .

    Yah saya sebenarnya tidak mengerti mengapa Anda tidak menggunakan array pasangan waktu/nilai, alih-alih sepasang array, yaitu emit(<id>, { pairs: [ {time: ts, value: P[1] ] }) atau emit(<id>, { pairs: [ [ts, P[1]] ] }) dalam fungsi peta, dan Array.push.apply(result.pairs, V.pairs) dalam fungsi reduksi. Dengan begitu, Anda bahkan tidak memerlukan fungsi finalisasi (kecuali mungkin untuk "membuka" array dari pasangan property:karena fungsi reduce tidak dapat mengembalikan array, Anda harus membungkusnya seperti itu dalam sebuah objek)




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana saya hanya mengambil artikel dengan komentar yang dibuat 20 menit yang lalu?

  2. MongoError:pengguna tidak diizinkan untuk melakukan tindakan

  3. MongoDB menjatuhkan setiap basis data

  4. Apakah GridFS cukup cepat dan andal untuk produksi?

  5. Spring Data Mongo Query untuk melakukan query dengan beberapa bidang dan kembali dalam satu panggilan