Câu trả lời này đã lỗi thời. Kể từ phiên bản 3.2, MongoDB đã giới hạn hỗ trợ cho các phép nối bên ngoài bên trái với toán tử tổng hợp $ lookup
MongoDB không thực hiện các truy vấn kéo dài nhiều tập hợp - dấu chấm. Khi bạn cần kết hợp dữ liệu từ nhiều bộ sưu tập, bạn phải thực hiện việc đó ở cấp ứng dụng bằng cách thực hiện nhiều truy vấn.
- Bộ sưu tập truy vấn A
- Lấy các khóa phụ từ kết quả và đặt chúng vào một mảng
- Bộ sưu tập truy vấn B chuyển mảng đó làm giá trị của toán tử $ in-tơ-nét
- Kết hợp các kết quả của cả hai truy vấn theo chương trình trên lớp ứng dụng
Phải làm điều này nên là một ngoại lệ hơn là tiêu chuẩn. Khi bạn thường xuyên cần mô phỏng các JOIN như vậy, điều đó có nghĩa là bạn vẫn nghĩ quá quan hệ khi thiết kế lược đồ cơ sở dữ liệu của mình hoặc dữ liệu của bạn chỉ đơn giản là không phù hợp với khái niệm lưu trữ dựa trên tài liệu của MongoDB.