Vì vậy, theo thứ tự:
-
aggregate
là một phương pháp. Nó có 2 đối số vị trí (self
, được truyền ngầm vàpipeline
) và bất kỳ số lượng từ khóa nào đối số (phải được chuyển dưới dạngfoo=bar
- nếu không có=
ký, nó không phải là một đối số từ khóa). Điều này có nghĩa là bạn cần gọiresult = work1.aggregate(pipe, allowDiskUse=True)
. -
Lỗi của bạn về kích thước tài liệu tối đa là cố hữu đối với Mongo. Mongo không bao giờ có thể trả về tài liệu (hoặc mảng của tài liệu đó) lớn hơn 16 megabyte. Tôi không thể cho bạn biết lý do tại sao vì bạn không cung cấp cho chúng tôi dữ liệu cũng như mã của bạn, nhưng điều đó có thể có nghĩa là tài liệu bạn đang xây dựng là kết quả cuối cùng quá lớn. Thử giảm
$limit
tham số, có thể? Bắt đầu bằng cách đặt nó thành 1, chạy thử nghiệm, sau đó tăng nó lên và xem mức độ lớn của kết quả khi bạn làm điều đó.