Aggregation Builder
Không gian pipeline trực quan dành cho MongoDB: thêm stage, sắp xếp lại, sửa từng bước, xem preview cuối cùng, rồi áp vào editor hoặc chạy ngay.
Pipeline gọn theo stage
Mỗi bước trong pipeline được giữ thành một stage riêng. Điều này giúp bạn nhìn đúng cấu trúc pipeline thay vì sửa cả mảng dài trong một lần.
Apply to Editor
Khi pipeline đã ổn, bạn có thể đẩy payload đã assemble về MQL editor. Đây là bước tốt nếu muốn review lại toàn bộ JSON cuối trước khi chạy.
Run trực tiếp
Nếu không có validation issue và kết nối được phép thực thi, bạn có thể chạy pipeline trực tiếp từ builder mà không cần vòng qua editor.
Workflow nên dùng hằng ngày
1. Chọn collection trước
Builder cần biết collection đích để parse pipeline hiện tại đúng ngữ cảnh và assemble lại payload cuối cùng một cách nhất quán.
2. Giữ mỗi stage một ý
Một stage tốt nên làm đúng một việc: lọc (`$match`), reshape (`$project`), nhóm (`$group`), hoặc sắp xếp (`$sort`). Cách làm này giúp debug nhanh hơn rất nhiều.
3. Dùng preview để phát hiện vấn đề sớm
Builder luôn tạo ra serialized payload cuối cùng. Nếu preview nhìn không giống ý định của bạn, sửa stage ngay ở đây sẽ nhanh hơn sửa sau khi chạy fail.
4. Chạy khi đã sạch issue
Các issue như stage rỗng hoặc payload không hợp lệ không chỉ là cảnh báo hình thức. Chúng là dấu hiệu cho thấy pipeline của bạn còn chưa đủ để chạy tin cậy.
Builder giúp bạn tránh lỗi kiểu gì?
Stage rỗng
Một `$match` hoặc `$group` rỗng không nên âm thầm lọt vào payload cuối. Builder đánh dấu chúng để bạn biết bước nào còn chưa hoàn chỉnh.
Đổi vị trí stage an toàn hơn
Thay vì cắt dán JSON dài, bạn di chuyển stage lên xuống bằng thao tác riêng. Điều này giảm nguy cơ hỏng ngoặc, mất dấu phẩy, hoặc đặt stage sai thứ tự.
Preview thống nhất
Preview là nơi builder chứng minh rằng danh sách stage hiện tại thực sự assemble thành payload hoàn chỉnh. Nó là cầu nối giữa UI trực quan và editor dạng text.
Payload cuối cùng trông ra sao?
# Builder gom nhiều stage thành một aggregate request chuẩn
{
"action": "aggregate",
"collection": "orders",
"pipeline": [
{ "$match": { "status": "paid" } },
{ "$group": { "_id": "$country", "total": { "$sum": 1 } } },
{ "$sort": { "total": -1 } }
]
}
Aggregation Builder rất tốt cho việc dựng pipeline rõ ràng, nhưng không phải lúc nào cũng là chỗ nhanh nhất cho các case quá dị, quá dài, hoặc dùng nhiều expression nâng cao. Khi bạn cần kiểm soát hoàn toàn payload cuối, hãy Apply to Editor và tiếp tục ở raw MQL.
Sẵn sàng khám phá dữ liệu?
Tham gia cộng đồng trên GitHub để đóng góp cho IDE cơ sở dữ liệu địa phương thông minh nhất.
Mở Ứng dụng