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

यदि मोंगो $ लुकअप एक बायां बाहरी जुड़ाव है, तो यह गैर-मिलान दस्तावेज़ों को कैसे शामिल नहीं करता है?

यह व्यवहार $lookup . से संबंधित नहीं है , ऐसा इसलिए है क्योंकि $unwind उन दस्तावेज़ों को छोड़ना है जहां संदर्भित फ़ील्ड गुम है या एक खाली सरणी है।

profile.universities . होने पर भी अवांछित दस्तावेज़ों को सुरक्षित रखने के लिए एक खाली सरणी है, आप इसका preserveNullAndEmptyArrays . सेट कर सकते हैं true . का विकल्प :

db.users.aggregate([
    {
        $unwind: "$profile",
        $unwind: {
            path: "$profile.universities",
            preserveNullAndEmptyArrays: true
        }
    },
    {
        $lookup: {
            from: "universities",
            localField: "profile.universities._id",
            foreignField: "_id",
            as: "profile.universities"
        }
    },
    {
        $group: {
            _id: "$_id",
            universities: {
                $addToSet: "$profile.universities"
            }
        }
    }
]).pretty()



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB में सर्वर-साइड संग्रहीत फ़ंक्शंस का उपयोग करने की अनुशंसा क्यों नहीं की जाती है?

  2. मैपिंग - सिम्फनी 2 में मोंगोडब एंबेडेड दस्तावेज़

  3. मोंगो संग्रह में डेटा विखंडन

  4. मोंगोडब रेगुलर एक्सप्रेशन में मल्टीबाइट utf8 वर्णों का मिलान

  5. स्प्रिंग डेटा MongoDB के साथ संग्रह आधारित बहु किरायेदारी