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.