MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

MongoDB $lookup . के साथ चर का उपयोग कैसे करें

यदि कार और बाइक में समान आईडी नहीं है, तो आप क्रमिक रूप से अलग-अलग सरणियों में देख सकते हैं, फिर उन्हें $सेटयूनियन :

db.vehicles.aggregate([
  {$lookup: {
      from: "cars",
      localField: "vehicleId",
      foreignField: "_id",
      as: "carDetails"
  }},
  {$lookup: {
      from: "bikes",
      localField: "vehicleId",
      foreignField: "_id",
      as: "bikeDetails"
  }},
  {$project: {
     vehicleType: 1,
     vehicleId: 1,      
     vehicleDetails:{$setUnion: [ "$carDetails", "$bikeDetails" ]}
  }},
  {$project: {
      carDetails:0,
      bikeDetails:0,
  }}
]);

अन्यथा आपको $facet का उपयोग करना होगा लुकअप से पहले प्रकार के अनुसार वाहनों को फ़िल्टर करने के लिए:

db.vehicles.aggregate([
   {
     $facet: {
         "cars": [
            {$match: {"vehicleType": "cars"}},
            {$lookup: {
               from: "cars",
               localField: "vehicleId",
               foreignField: "_id",
               as: "vehicleDetails"
             }},
         ],
         "bikes": [
            {$match: {"vehicleType": "bikes"}},
            {$lookup: {
               from: "bikes",
               localField: "vehicleId",
               foreignField: "_id",
               as: "vehicleDetails"
             }}
         ]
     }
   },
   {$project: {all: {$setUnion: ["$cars", "$bikes"]}}},
   {$unwind: "$all"},
   {$replaceRoot: { newRoot: "$all" }}
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. रेगेक्स मोंगोडीबी सी # ड्राइवर के साथ फ़िल्टर करें

  2. विंडोज़ पर मोंगोडीबी कैसे स्थापित करें?

  3. पीएचपी मोंगो सॉकेट से पढ़ने में त्रुटि

  4. मोंगोडब पुराना संग्रह लौटाता है

  5. MongoDB संग्रह में दिए गए मानदंडों से मेल खाने वाले दस्तावेज़ और एकल उप-दस्तावेज़ कैसे खोजें