Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB कलेक्शन से डुप्लिकेट कैसे हटाएं?

MongoDB कलेक्शन में डुप्लिकेट दस्तावेज़ों को रोकने के लिए, आप उस फ़ील्ड पर एक यूनिक इंडेक्स बना सकते हैं जो यूनिक होना चाहिए। unique: true विकल्प का उपयोग करें और साथ में dropDups: true (नोट: MongoDB 3.0+ में dropDups हटा दिया गया है; इसके बजाय डुप्लिकेट्स को मैन्युअली हटाएं)।

सिंटैक्स

db.yourCollectionName.ensureIndex({yourFieldName: 1}, {unique: true})

उदाहरण

आइए एक डेमो कलेक्शन बनाएं और FirstName फ़ील्ड पर यूनिक इंडेक्स लागू करें:

> db.demo604.ensureIndex({FirstName: 1}, {unique: true})
{
    "createdCollectionAutomatically" : true,
    "numIndexesBefore" : 1,
    "numIndexesAfter" : 2,
    "ok" : 1
}

अब दस्तावेज़ डालें:

> db.demo604.insertOne({FirstName:"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e960887ed011c280a0905d8") }
> db.demo604.insertOne({FirstName:"Bob"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e96088aed011c280a0905d9") }
> db.demo604.insertOne({FirstName:"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e96088ded011c280a0905da") }
> db.demo604.insertOne({FirstName:"Chris"}); // डुप्लिकेट
// त्रुटि: E11000 duplicate key error collection: test.demo604 index: FirstName_1 dup key: { : "Chris" }

दस्तावेज़ देखें

> db.demo604.find();

आउटपुट:

{ "_id" : ObjectId("5e960887ed011c280a0905d8"), "FirstName" : "Chris" }
{ "_id" : ObjectId("5e96088aed011c280a0905d9"), "FirstName" : "Bob" }
{ "_id" : ObjectId("5e96088ded011c280a0905da"), "FirstName" : "David" }

नोट: MongoDB 3.0+ में dropDups विकल्प उपलब्ध नहीं है। मौजूदा डुप्लिकेट्स को हटाने के लिए, एग्रीगेशन पाइपलाइन या मैन्युअल स्क्रिप्ट का उपयोग करें।

  1. - MongoDB कलेक्शन से यूनिक मान प्राप्त करें

    यूनिक मान प्राप्त करने और डुप्लिकेट को अनदेखा करने के लिए, MongoDB में distinct() का उपयोग करें। distinct() एक सिंगल कलेक्शन में निर्दिष्ट फील्ड के लिए विशिष्ट मान ढूंढता है और परिणाम को एक ऐरे में लौटाता है। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo704.insertOne({LanguageCode:hi});

  1. - MongoDB क्वेरी: कलेक्शन से पूरा ऐरे हटाएं

    कलेक्शन से पूरा ऐरे हटाने के लिए, MongoDB में $unset का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo609.insertOne({ListOfSubject:[MySQL,MongoDB]}); { acknowledged : true, insertedId : ObjectId(5e974695f57d0dc0b182d62c) } > db.demo609.insertOne({ListOfSubject:[Java]}); { a

  1. त्वरित और आसान: Google Drive से डुप्लीकेट फाइलें हटाकर स्पेस खाली करें त्वरित और आसान: Google Drive से डुप्लीकेट फाइलें हटाकर स्पेस खाली करें

    अपने Google Drive पर स्टोरेज कम होने पर और सोच रहे हैं GDrive में स्पेस कैसे खाली करें? अक्सर, आपके Google Drive पर संग्रहीत कई डुप्लीकेट फाइलें बहुत सारी जगह खा सकती हैं। डुप्लीकेट फाइलों को हटाने से आप इस स्पेस का अधिकांश हिस्सा खाली कर सकते हैं, लेकिन मैन्युअली फाइलों को हटाना बहुत परेशानी भरा हो