$lookup
Tổng hợp $lookup
Giai đoạn tổng hợp này thực hiện phép nối ngoài bên trái vào một bộ sưu tập trong cùng một cơ sở dữ liệu.
Có bốn trường bắt buộc:
-
from
: Bộ sưu tập được sử dụng để tra cứu trong cùng một cơ sở dữ liệu -
localField
: Trường trong bộ sưu tập chính có thể được sử dụng làm mã định danh duy nhất trong bộ sưu tậpfrom
. -
foreignField
: Trường trong bộ sưufrom
từ có thể được sử dụng làm mã định danh duy nhất trong bộ sưu tập chính. -
as
: Tên của trường mới sẽ chứa các tài liệu phù hợp từ bộ sưu tậpfrom
.
Ví dụ
Trong ví dụ này, chúng tôi đang sử dụng cơ sở dữ liệu "sample_mflix" được tải từ dữ liệu mẫu của chúng tôi trong phần Giới thiệu về Tập hợp .
db.comments.aggregate([
{
$lookup: {
from: "movies",
localField: "movie_id",
foreignField: "_id",
as: "movie_details",
},
},
{
$limit: 1
}
])
Hãy tự mình thử »Điều này sẽ trả về dữ liệu phim cùng với mỗi bình luận.