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

Tránh giới hạn tổng hợp 16MB

Vấn đề là trình điều khiển gốc khác với cách phương thức shell hoạt động theo mặc định ở chỗ "shell" thực sự trả về một đối tượng "con trỏ" nơi trình điều khiển gốc cần tùy chọn này "rõ ràng".

Không có "con trỏ", .aggregate() trả về một tài liệu BSON duy nhất dưới dạng một mảng tài liệu, vì vậy chúng tôi biến nó thành một con trỏ để tránh giới hạn:

let cursor = collection.aggregate(
  [{ "$group": { "_id": "$internalNumber" } }],
  { "cursor": { "batchSize": 500 } }
);

cursor.toArray((err,docs) => {
   // work with resuls
});

Sau đó, bạn có thể sử dụng các phương thức thông thường như .toArray() để làm cho kết quả trở thành một mảng JavaScript mà trên 'máy khách' không có chung các giới hạn hoặc các phương pháp khác để lặp lại một "con trỏ".



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Sao lưu và khôi phục MongoDB

  2. Tách chuỗi thành một mảng các chuỗi con hoặc ký tự trong MongoDB

  3. MongoDB Viết mối quan tâm:3 điều cần biết

  4. MongoDB - Truy vấn trong khoảng thời gian hàng giờ

  5. 2 cách thay thế chuỗi con trong MongoDB