Mục đích chính của aggregation framework
là để giảm bớt truy vấn của một số lượng lớn các mục nhập và tạo ra một số lượng thấp kết quả có giá trị đối với bạn.
Như bạn đã nói, bạn cũng có thể sử dụng nhiều find
truy vấn, nhưng hãy nhớ rằng bạn không thể tạo trường mới bằng find
truy vấn. Mặt khác, $group
giai đoạn cho phép bạn xác định các trường mới của mình.
Nếu bạn muốn đạt được chức năng của aggregation framework
, bạn rất có thể sẽ phải chạy find
ban đầu (hoặc xâu chuỗi một số thông tin), kéo thông tin đó và thao tác thêm với ngôn ngữ lập trình.
Đường dẫn tổng hợp aggregation pipeline
có thể mất nhiều thời gian hơn, nhưng ít nhất bạn biết rằng bạn chỉ phải tính đến hiệu suất của một hệ thống - công cụ MongoDB.
Trong khi đó, khi nói đến thao tác dữ liệu được trả về từ find
truy vấn, bạn rất có thể sẽ phải thao tác thêm dữ liệu với ngôn ngữ lập trình, do đó làm tăng độ phức tạp tùy thuộc vào mức độ phức tạp của ngôn ngữ lập trình bạn chọn.