MongoDB에서 인덱스를 생성하려면sureIndex() 메소드를 사용하십시오. 먼저 다음 쿼리를 사용하여 컬렉션을 생성해 보겠습니다.
> db.createCollection(&qu/ot;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"}); 2019-03-26T02:57:52.670+0530 E QUERY [js] WriteError: E11000 duplicate key error collection: test.creatingUniqueIndexDemo index: UserCountryName_1 dup key: { : "US" } : WriteError({ "index" : 0, "code" : 11000, "errmsg" : "E11000 duplicate key error collection: test.creatingUniqueIndexDemo index: . UserCountryName_1 dup key: { : \"US\" }", "op" : { "_id" : ObjectId("5c9947d8330fd0aa0d2fe4da"), "UserName" : "Robert", "UserAge" : 26, "UserCountryName" : "US" } }) WriteError@src/mongo/shell/bulk_api.js:461:48 Bulk/mergeBatchResults@src/mongo/shell/bulk_api.js:841:49 Bulk/executeBatch@src/mongo/shell/bulk_api.js:906:13 Bulk/this.execute@src/mongo/shell/bulk_api.js:1150:21 DBCollection.prototype.insertOne@src/mongo/shell/crud_api.js:252:9 @(shell):1:1 > db.creatingUniqueIndexDemo.insertOne({"UserName":"Robert","UserAge":26,"UserCountryName":"AUS"}); { "acknowledged" : true, "insertedId" : ObjectId("5c9947e3330fd0aa0d2fe4db") }
다음은 find() 메서드를 사용하여 컬렉션의 모든 문서를 표시하는 쿼리입니다.
> db.creatingUniqueIndexDemo.find().pretty();
그러면 다음과 같은 출력이 생성됩니다.
{ "_id" : ObjectId("5c9947bd330fd0aa0d2fe4d8"), "UserName" : "John", "UserAge" : 21, "UserCountryName" : "US" } { "_id" : ObjectId("5c9947c9330fd0aa0d2fe4d9"), "UserName" : "Mike", "UserAge" : 23, "UserCountryName" : "UK" } { "_id" : ObjectId("5c9947e3330fd0aa0d2fe4db"), "UserName" : "Robert", "UserAge" : 26, "UserCountryName" : "AUS" }