Aggregation $lookup
இந்த ஒருங்கிணைப்பு நிலை ஒரே தரவுத்தளத்தில் உள்ள ஒரு கலெக்ஷனுடன் இடது வெளிப்புற இணைப்பைச் செய்கிறது.
நான்கு தேவையான புலங்கள் உள்ளன:
தேவையான புலங்கள்
| புலம் | விளக்கம் |
|---|---|
| from | அதே தரவுத்தளத்தில் lookup செய்ய பயன்படுத்த வேண்டிய கலெக்ஷன் |
| localField | முதன்மை கலெக்ஷனில் உள்ள புலம், இது from கலெக்ஷனில் ஒரு தனிப்பட்ட அடையாளங்காட்டியாகப் பயன்படுத்தப்படலாம் |
| foreignField | from கலெக்ஷனில் உள்ள புலம், இது முதன்மை கலெக்ஷனில் ஒரு தனிப்பட்ட அடையாளங்காட்டியாகப் பயன்படுத்தப்படலாம் |
| as | from கலெக்ஷனில் இருந்து பொருந்தக்கூடிய ஆவணங்களைக் கொண்டிருக்கும் புதிய புலத்தின் பெயர் |
எடுத்துக்காட்டு
இந்த எடுத்துக்காட்டில், நாங்கள் "sample_mflix" தரவுத்தளத்தைப் பயன்படுத்துகிறோம், இது ஒருங்கிணைப்புகள் அறிமுகப் பிரிவில் இருந்து எங்கள் மாதிரி தரவில் இருந்து ஏற்றப்பட்டது.
db.comments.aggregate([
{
$lookup: {
from: "movies",
localField: "movie_id",
foreignField: "_id",
as: "movie_details",
},
},
{
$limit: 1
}
])
இது ஒவ்வொரு கருத்துக்கும் திரைப்படத் தரவைத் திரும்பப் பெறும்.
விளக்கம்:
$lookup நிலை இரண்டு கலெக்ஷன்களை இணைக்க பயன்படுகிறது. இந்த எடுத்துக்காட்டில், comments கலெக்ஷன் movies கலெக்ஷனுடன் இணைக்கப்படுகிறது. comments கலெக்ஷனில் உள்ள movie_id புலம் movies கலெக்ஷனில் உள்ள _id புலத்துடன் பொருந்துகிறது. இணைக்கப்பட்ட தரவு movie_details என்ற புதிய புலத்தில் சேர்க்கப்படும்.