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

MongoDB 4.2 डेटा बेस से डुप्लिकेट निकालें

यह मेरा इनपुट संग्रह है dups , कुछ डुप्लीकेट डेटा के साथ (k मानों के साथ 11 और 22 ):

{ "_id" : 1, "k" : 11 }
{ "_id" : 2, "k" : 22 }
{ "_id" : 3, "k" : 11 }
{ "_id" : 4, "k" : 44 }
{ "_id" : 5, "k" : 55 }
{ "_id" : 6, "k" : 66 }
{ "_id" : 7, "k" : 22 }
{ "_id" : 8, "k" : 88 }
{ "_id" : 9, "k" : 11 }

क्वेरी डुप्लिकेट को हटा देती है :

db.dups.aggregate([
  { $group: { 
        _id: "$k",
        dups: { "$addToSet": "$_id" }, 
        count: { "$sum": 1 } 
  }}, 
  { $project: { k: "$_id", _id: { $arrayElemAt: [ "$dups", 0 ] } } }
] )
=>
{ "k" : 88, "_id" : 8 }
{ "k" : 22, "_id" : 7 }
{ "k" : 44, "_id" : 4 }
{ "k" : 55, "_id" : 5 }
{ "k" : 66, "_id" : 6 }
{ "k" : 11, "_id" : 9 }

जैसा कि आप देखते हैं कि निम्न डुप्लिकेट डेटा हटा दिया गया है :

{ "_id" : 1, "k" : 11 }
{ "_id" : 2, "k" : 22 }
{ "_id" : 3, "k" : 11 }


परिणाम एक सरणी में प्राप्त करें:

var arr = db.dups.aggregate([ ...] ).toArray()

arr दस्तावेज़ों की सरणी है:

[
        {
                "k" : 88,
                "_id" : 8
        },
        {
                "k" : 22,
                "_id" : 7
        },
        {
                "k" : 44,
                "_id" : 4
        },
        {
                "k" : 55,
                "_id" : 5
        },
        {
                "k" : 66,
                "_id" : 6
        },
        {
                "k" : 11,
                "_id" : 9
        }
]



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. कॉलबैक नरक से बचने के लिए नोडज और मोंगोस्किन के साथ प्रतीक्षा का उपयोग करना

  2. रिमोट सर्वर से मोंगोडम्प

  3. MongoDB ObjectId's के सरणियों को संग्रहीत करता है

  4. MongoDb . के साथ माइग्रेशन को संभालना

  5. स्कैला - इंडेक्सडैटसेटस्पार्क ऑब्जेक्ट बनाएं