Unique Index बनाकर डुप्लिकेट रोकें
MongoDB में किसी फील्ड पर डुप्लिकेट मान रोकने के लिए createIndex() के साथ unique: true विकल्प का उपयोग करें।
सिंटैक्स
db.yourCollectionName.createIndex({"yourFieldName":1}, {unique:true});
उदाहरण
> db.avoidDuplicateEntriesDemo.createIndex({"UserName":1}, {unique:true});
{ "createdCollectionAutomatically" : true, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 }
पहला रिकॉर्ड डालें:
> db.avoidDuplicateEntriesDemo.insertOne({"UserName":"John"});
{ "acknowledged" : true, "insertedId" : ObjectId("5c90e1824afe5c1d2279d697") }
दूसरी बार वही नाम डालने पर त्रुटि:
> db.avoidDuplicateEntriesDemo.insertOne({"UserName":"John"});
2019-03-19T18:03:08.465+0530 E QUERY [js] WriteError: E11000 duplicate key error collection: test.avoidDuplicateEntriesDemo index: UserName_1 dup key: { : "John" }
दूसरा अलग नाम डालें:
> db.avoidDuplicateEntriesDemo.insertOne({"UserName":"Carol"});
{ "acknowledged" : true, "insertedId" : ObjectId("5c90e18d4afe5c1d2279d699") }
सभी दस्तावेज़ देखें:
> db.avoidDuplicateEntriesDemo.find();
महत्वपूर्ण: यूनिक इंडेक्स बनाने से पहले सुनिश्चित करें कि कलेक्शन में उस फील्ड के डुप्लिकेट मान पहले से न हों, अन्यथा इंडेक्स निर्माण विफल हो जाएगा।