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

मोंगो-क्वेरी का उपयोग करके दो सरणी में $setDifference कैसे जांचें?

चूंकि यह मेरे पिछले उत्तरों में से एक का अनुवर्ती है, इसलिए मैं आपके कोड को ठीक करने का प्रयास करूंगा। लब्बोलुआब यह है कि आपको दो प्रश्नों की आवश्यकता है क्योंकि आप अपने डेटाबेस को अपग्रेड नहीं कर सकते हैं इसलिए कोड नीचे जैसा दिखना चाहिए:

var queryResult = db.UserDetails.aggregate(
{
$lookup: {
    from: "UserProducts",
    localField: "UID",
    foreignField: "UID",
    as: "userProduct"
    }
},
{ $unwind: "$userProduct" },
{
    "$project": { "_id" : 0, "userProduct.UPID" : 1 }
},
{
    $group: {
        _id: null,
        userProductUPIDs: { $addToSet: "$userProduct.UPID" }
    }
});

let userProductUPIDs = queryResult.toArray()[0].userProductUPIDs;

db.Groups.aggregate([
    {
        $unwind: "$members.regularStudent"
    },
    {
        $group: {
            _id: null,
            UPIDs: { $addToSet: "$members.regularStudent" }
        }
    },
    {
        $project: {
            members: {
                $setDifference: [ userProductUPIDs , "$UPIDs" ]
            },
            _id : 0
        }
    }
]) // should return 100



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मैं MongoDB शेल में चल रही क्वेरी को कैसे निरस्त करूं?

  2. MongoDB अब एकत्रीकरण चर

  3. नोड.जेएस के साथ मोंगोडीबी सेटअप:त्रुटि:[लोकलहोस्ट:27017] से कनेक्ट करने में विफल

  4. मोंगोडीबी $allElementsTrue

  5. योग मोंगोडब द्वारा समूह