Kể từ Mongo 3.2, các câu trả lời cho câu hỏi này hầu hết không còn đúng nữa. Toán tử $ lookup mới được thêm vào đường ống tổng hợp về cơ bản giống với một phép nối bên ngoài bên trái:
https://docs.mongodb.org/master/reference/operator/aggregation/lookup/#pipe._S_lookup
Từ tài liệu:
{
$lookup:
{
from: <collection to join>,
localField: <field from the input documents>,
foreignField: <field from the documents of the "from" collection>,
as: <output array field>
}
}
Tất nhiên Mongo là không cơ sở dữ liệu quan hệ và các nhà phát triển đang cẩn thận đề xuất các trường hợp sử dụng cụ thể cho $ lookup, nhưng ít nhất kể từ 3.2 thực hiện phép nối hiện có thể thực hiện được với MongoDB.