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

$lookup का विदेशी क्षेत्र नेस्टेड दस्तावेज़ का क्षेत्र हो सकता है?

$lookup के लिए कोई पोजिशनल ऑपरेटर नहीं है लेकिन आप कस्टम pipeline . का उपयोग कर सकते हैं MongoDB 3.6 में कस्टम जॉइन को परिभाषित करने के लिए शर्तें :

db.history.aggregate([
    {
        $lookup: {
            from: "childsgroup",
            let: { child_id: "$child_id" },
            pipeline: [
                { $match: { $expr: { $in: [ "$$child_id", "$childs.id" ] } } },
                { $unwind: "$childs" },
                { $match: { $expr: { $eq: [ "$childs.id", "$$child_id" ] } } },
                { $replaceRoot: { newRoot: "$childs" } }
            ],
            as: "childInfo"
        }
    }
])

पहला $match प्रदर्शन में सुधार के लिए जोड़ा गया:हम childsgroup . से केवल उन दस्तावेज़ों को खोजना चाहते हैं जिसमें मेल खाने वाले child_id . हों और फिर हम $unwind . के बाद उप-दस्तावेजों का मिलान कर सकते हैं मंच।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडब और सी # में काम की इकाई

  2. अद्यतन भूमिका उपयोगकर्ता:कमांड निष्पादित करने के लिए व्यवस्थापक पर अधिकृत नहीं है

  3. उल्का ऐप pm2 घातक त्रुटि के साथ चला:CALL_AND_RETRY_LAST आवंटन विफल - जावास्क्रिप्ट स्मृति से बाहर ढेर

  4. मोंगोडब ऑब्जेक्ट को जावास्क्रिप्ट ऑब्जेक्ट में बदलें

  5. कस्टम _id फ़ील्ड Django MongoDB MongoEngine