MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Câu hỏi tổng hợp mảng MongoDB / Reduce Array

  1. "Chunking" đến từ mã của bạn:tham số giá trị của hàm giảm có thể chứa {time:<timestamp>,value:<value>} phát ra từ hàm bản đồ của bạn hoặc {time:[<timestamps>],value:[<values]} được trả về từ cuộc gọi trước đó cho chức năng giảm của bạn.

  2. Tôi không biết liệu nó có xảy ra trong thực tế hay không, nhưng nó có thể xảy ra trên lý thuyết.

  3. Chỉ cần để hàm bản đồ của bạn phát ra cùng một loại đối tượng mà hàm giảm của bạn trả về, tức là emit(<id>, {time: [ts], value: [P[1]]}) và thay đổi chức năng giảm của bạn cho phù hợp, tức là Array.push.apply(result.time, V.time) và tương tự cho result.value .

    Tôi thực sự không hiểu tại sao bạn không sử dụng một mảng các cặp thời gian / giá trị, thay vào đó là một cặp mảng, tức là emit(<id>, { pairs: [ {time: ts, value: P[1] ] }) hoặc emit(<id>, { pairs: [ [ts, P[1]] ] }) trong hàm bản đồ và Array.push.apply(result.pairs, V.pairs) trong hàm giảm. Bằng cách đó, bạn thậm chí sẽ không cần đến hàm finalize (ngoại trừ có thể "mở" mảng khỏi cặp thuộc tính:bởi vì hàm Reduce không thể trả về một mảng, bạn phải bọc nó theo cách đó trong một đối tượng)




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tích hợp mongodb với neo4j, có API nào sẽ liên kết chúng không?

  2. Lưu trữ mật khẩu với Node.js và MongoDB

  3. ServerSelectionTimeoutError khi kết nối với aws bằng pymongo

  4. Sử dụng mongo sao băng trên localhost nhưng với Cơ sở dữ liệu từ xa

  5. Thứ tự của các chỉ mục kết hợp quan trọng như thế nào trong hiệu suất MongoDB?