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

मोंगोडब में $ लुकअप के साथ कई संग्रहों में कैसे शामिल हों?

मोंगोडब 3.2 . द्वारा समर्थित शामिल होने की सुविधा और बाद के संस्करण। आप एग्रीगेट . का उपयोग करके जॉइन का उपयोग कर सकते हैं क्वेरी।
आप इसे नीचे दिए गए उदाहरण का उपयोग करके कर सकते हैं:

db.users.aggregate([

    // Join with user_info table
    {
        $lookup:{
            from: "userinfo",       // other table name
            localField: "userId",   // name of users table field
            foreignField: "userId", // name of userinfo table field
            as: "user_info"         // alias for userinfo table
        }
    },
    {   $unwind:"$user_info" },     // $unwind used for getting data in object or for one record only

    // Join with user_role table
    {
        $lookup:{
            from: "userrole", 
            localField: "userId", 
            foreignField: "userId",
            as: "user_role"
        }
    },
    {   $unwind:"$user_role" },

    // define some conditions here 
    {
        $match:{
            $and:[{"userName" : "admin"}]
        }
    },

    // define which fields are you want to fetch
    {   
        $project:{
            _id : 1,
            email : 1,
            userName : 1,
            userPhone : "$user_info.phone",
            role : "$user_role.role",
        } 
    }
]);

यह इस तरह परिणाम देगा:

{
    "_id" : ObjectId("5684f3c454b1fd6926c324fd"),
    "email" : "[email protected]",
    "userName" : "admin",
    "userPhone" : "0000000000",
    "role" : "admin"
}

आशा है कि यह आपकी या किसी और की मदद करेगा।

धन्यवाद



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB के लिए आधिकारिक C# ड्राइवर का उपयोग करके 'आईडी' द्वारा एक 'दस्तावेज़' कैसे निकालें?

  2. MongoDB और Mongoose में पूर्ण पाठ खोज करने का सबसे अच्छा तरीका

  3. Node.js mongodb ड्राइवर async/प्रतीक्षा क्वेरी

  4. उल्का:मैं अपने मोंगो डेटाबेस का बैकअप कैसे ले सकता हूं

  5. मोंगोडब नोडज - वृत्ताकार संरचना को परिवर्तित करना