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

Trả về số lượng bản ghi có hạn của một loại nhất định, nhưng không giới hạn số lượng bản ghi khác?

Tôi không nghĩ rằng điều này hiện tại (2.6) có thể thực hiện được với một đường ống tổng hợp. Thật khó để đưa ra một lập luận chính xác về lý do tại sao không, nhưng về cơ bản đường ống tổng hợp thực hiện chuyển đổi các luồng tài liệu, một tài liệu tại một thời điểm. Không có nhận thức nào trong đường dẫn về trạng thái của chính luồng, đó là những gì bạn cần xác định rằng bạn đã đạt đến giới hạn cho điểm A, B, v.v. và cần bỏ thêm các tài liệu cùng loại. $group kết hợp nhiều tài liệu lại với nhau và cho phép tổng hợp các giá trị trường của chúng ảnh hưởng đến tài liệu nhóm kết quả ($sum , $avg , vân vân.). Có thể điều này có ý nghĩa, nhưng nó không nhất thiết phải nghiêm ngặt vì bạn có thể thêm các thao tác đơn giản để có thể giới hạn dựa trên các loại, ví dụ:thêm $push x bộ tích lũy thành $group điều đó chỉ đẩy giá trị nếu mảng được đẩy đến có ít hơn x phần tử.

Ngay cả khi tôi đã có một cách để làm điều đó, tôi khuyên bạn chỉ nên thực hiện hai tổng hợp. Hãy đơn giản hóa.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Xóa tất cả các trường rỗng

  2. Mongodb sẽ không bắt đầu

  3. Tạo chỉ mục ký tự đại diện trong MongoDB

  4. Hiệu suất MongoDB với cấu trúc dữ liệu ngày càng tăng

  5. Các yếu tố cần xem xét khi chọn MongoDB cho các ứng dụng dữ liệu lớn