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

नेस्टेड उप-दस्तावेज़ मोंगोडब में किसी सरणी के साथ फ़ील्ड को कैसे देखें?

नेस्टेड लुकअप को संभालने के लिए आप लुकअप पाइपलाइन का उपयोग कर सकते हैं

const pipeline = [
   {
     $match: {_id: new mongoose.Types.ObjectId(req.user.userId)}
   },
   {
     $lookup: {
       from: 'levels',
       let: { level_id: "$teamInfo.challenges.levelId" },
       pipeline: [
         {
           $match: {
             $expr: {
               $eq: ["$_id", "$$level_id"]
             }
           }
         },
         {
           $lookup: {
             from: '<level collection>',
             localField: "levelId",
             foreignField: "_id",
             as: "levelInfo"
           }
         },
         {
           $project: {
             levelInfo: {
               name: "$levelInfo.name"
             }
             title: 1
           }
         }
       ],
       as: "challenges"
     },

   },
   { $project: {
     _id: 1,
     fullname: 1,
     username: 1,
     teamInfo: {
       challenges: "$challenges"
     }
   }}
]

const result = await User.Aggregate(pipeline)

आशा है कि यह मदद!




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. टार गज़िप मोंगो डंप MySQL की तरह

  2. रेल और मोंगोइड अद्वितीय परिणाम

  3. उत्पादों, विकल्पों/टैग और श्रेणियों को सहेजना, व्यवस्थित करना और क्वेरी करना

  4. मोंगो डीबी:दस्तावेज़ को एक संग्रह से कैसे कॉपी करें और इसे किसी अन्य संग्रह से संबंधित दस्तावेज़ में फ़ील्ड के रूप में कैसे जोड़ें?

  5. संयोजित क्षेत्रों के परिणाम का उपयोग करके दस्तावेज़ को अपडेट करें