🔗
Aggregation Framework

$lookup — Joins in MongoDB

Combining Collections
💡 $lookup, SQL, ke, "JOIN" ka, MongoDB, EQUIVALENT, hai — DO, ALAG, "FILING, CABINETS" (COLLECTIONS) se, RELATED, DATA, ko, EK, SAATH, JODNA, jaise, EK, ORDER, ke, saath, USER, ki, DETAILS.

$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, ke, "JOIN" ka, MongoDB, EQUIVALENT, hai — DO, ALAG, "FILING, CABINETS" (COLLECTIONS) se, RELATED, DATA, ko, EK, SAATH, JODNA, jaise, EK, ORDER, ke, saath, USER, ki, DETAILS.
1 / 2
⚡ Quick Recap
  • $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
Is page mein (2 subtopics)

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.

💡Tip: preserveNullAndEmptyArrays: true, option, se, $unwind, un, documents, ko, bhi, RAKHТА, hai, JINKA, array, EMPTY, ya, MISSING, hai — default, mein, WOH, documents, DROP, ho, jaate, HAIN.