ensureIndex() / createIndex() का उपयोग करना
MongoDB में इंडेक्स बनाने के लिए createIndex() (अनुशंसित) या विरासत ensureIndex() का उपयोग करें।
उदाहरण: संग्रह बनाना और यूनिक इंडेक्स बनाना
> db.createCollection("creatingUniqueIndexDemo");
{ "ok" : 1 }
> db.creatingUniqueIndexDemo.ensureIndex({"UserCountryName": 1}, {unique: true});
{ "createdCollectionAutomatically" : false, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 }
दस्तावेज़ डालकर इंडेक्स परीक्षण करना
> db.creatingUniqueIndexDemo.insertOne({"UserName":"John","UserAge":21,"UserCountryName":"US"});
{ "acknowledged" : true, "insertedId" : ObjectId("5c9947bd330fd0aa0d2fe4d8") }
> db.creatingUniqueIndexDemo.insertOne({"UserName":"Mike","UserAge":23,"UserCountryName":"UK"});
{ "acknowledged" : true, "insertedId" : ObjectId("5c9947c9330fd0aa0d2fe4d9") }
> db.creatingUniqueIndexDemo.insertOne({"UserName":"Robert","UserAge":26,"UserCountryName":"US"});
// डुप्लिकेट कुंजी त्रुटि: E11000 duplicate key error collection: test.creatingUniqueIndexDemo index: UserCountryName_1 dup key: { : "US" }
> db.creatingUniqueIndexDemo.insertOne({"UserName":"Robert","UserAge":26,"UserCountryName":"AUS"});
{ "acknowledged" : true, "insertedId" : ObjectId("5c9947e3330fd0aa0d2fe4db") }
अंतिम डेटा देखना
> db.creatingUniqueIndexDemo.find().pretty();
आउटपुट: केवल तीन दस्तावेज़ (US के लिए दूसरा डालना विफल रहा)।
मुख्य बिंदु:
{unique: true}फ़ील्ड मान की विशिष्टता को लागू करता है।1आरोही क्रम दर्शाता है (-1अवरोही)।- यूनिक इंडेक्स पर डुप्लिकेट डालने पर
E11000त्रुटि होती है। - आधुनिक MongoDB में
createIndex()पसंद किया जाता है।