Với giai đoạn đường ống tổng hợp mới $lookup
chúng tôi hiện có thể thực hiện 'các kết nối bên ngoài bên trái'.
Thoạt nhìn, tôi muốn thay thế ngay một trong các bộ sưu tập không chuẩn hóa của chúng tôi bằng hai bộ sưu tập riêng biệt và sử dụng $lookup
để tham gia khi truy vấn. Điều này sẽ giải quyết vấn đề có, khi cần thiết, để cập nhật một số lượng lớn tài liệu. Bây giờ chúng tôi có thể cập nhật chỉ một tài liệu.
Nhưng chắc chắn điều này quá tốt là đúng? Đây là một NoSQL, cơ sở dữ liệu tài liệu sau khi tất cả!
MongoDB của CTO cũng highlights his concerns:
Chúng tôi vẫn lo ngại rằng $ tra cứu có thể bị lạm dụng để điều trị MongoDB giống như một cơ sở dữ liệu quan hệ. Nhưng thay vì hạn chế tính khả dụng, chúng tôi sẽ giúp nhà phát triển biết khi nào việc sử dụng của nó là thích hợp và khi đó là mô hình chống giả mạo. Trong những tháng tới, chúng tôi sẽ vượt ra ngoài tài liệu hiện có để cung cấp hướng dẫn rõ ràng, mạnh mẽ trong lĩnh vực này.
Các giới hạn của $lookup
là gì? Tôi có thể sử dụng chúng trong thời gian thực, truy vấn hoạt động dữ liệu của chúng tôi hay chúng được để lại để báo cáo, các tình huống ngoại tuyến không?