$lookup — Joins in MongoDB
$lookup, EK, COLLECTION, ke, DOCUMENTS, ko, DUSRI, COLLECTION, se, MATCH, karके, JOIN, karta hai — LEFT, OUTER, JOIN, ki, tarah, KAAM, karta hai, MATCHING, DOCUMENTS, EK, ARRAY, mein, EMBED, ho, jaate, HAIN.
$lookup, REFERENCING, PATTERN, ke, saath, aksar, USE, hota hai — JAB, DATA, EMBED, NAHI, kiya, gaya, hai, LEKIN, QUERY, TIME, PAR, RELATED, DATA, chahiye, hota hai.
db.orders.aggregate([
{ $lookup: {
from: "users", // dusri collection
localField: "userId", // orders ka field
foreignField: "_id", // users ka matching field
as: "customerInfo" // result, array, ke, roop, mein
}},
{ $unwind: "$customerInfo" } // array, ko, single, object, mein, flatten
]);- $lookup = SQL JOIN ka equivalent — collections ko relate karta hai
- Left outer join ki tarah kaam karta hai, results array mein
- Referencing pattern ke saath, aksar, use, hota hai
Modern, $lookup, syntax, mein, EK, "let" aur, "pipeline" option, use, karके, DUSRI, collection, PAR, complex, FILTERING, ki, ja, sakti, hai (jaise, sirf, RECENT, orders, join, karna) — SIMPLE, localField/foreignField, se, ZYAADA, POWERFUL, hai.
{ $lookup: {
from: "orders",
let: { userId: "$_id" },
pipeline: [
{ $match: { $expr: { $eq: ["$customerId", "$$userId"] } } },
{ $match: { status: "completed" } }
],
as: "completedOrders"
}}$unwind, EK, array, field, ko, "flatten" karta hai — HAR, array, element, ke, liye, EK, SEPARATE, document, banata hai. $lookup, ke, BAAD, aksar, use, hota hai, kyunki, $lookup, result, EK, array, deta hai.