Computer >> 컴퓨터 >  >> 프로그램 작성 >> MongoDB

MongoDB에서 고유한 필드를 만드는 방법은 무엇입니까?

<시간/>

MongoDB에서 고유한 필드를 만들려면 unique - true를 사용하십시오. 문서로 컬렉션을 만들자 −

> db.demo82.createIndex({"EmployeeName":1},{unique:true});{ "createdCollectionAutomatically" :true, "numIndexesBefore" :1, "numIndexesAfter" :2, "ok" :1}> db.demo82.insertOne({"EmployeeName":"Chris"});{ "승인된":true, "insertedId":ObjectId("5e2bfb1b71bf0181ecc422a0")}> db.demo82.insertOne({"EmployeeName":" "});{ "확인됨":true, "insertedId":ObjectId("5e2bfb1f71bf0181ecc422a1")}> db.demo82.insertOne({"EmployeeName":"Chris"});2020-01-25T13.410:+ 0530 E QUERY [js] WriteError:E11000 중복 키 오류 수집:test.demo82 색인:EmployeeName_1 dup key:{:"Chris" } :WriteError({ "index":0, "code":11000, "errmsg":" E11000 중복 키 오류 수집:test.demo82 색인:EmployeeName_1 이중화 키:{ :\"Chris\" }", "op" :{ "_id" :ObjectId("5e2bfb2071bf0181ecc422a2"), "EmployeeName" :"Chris" }} )WriteError@src/mongo/shell/bulk_api.js:461:48Bulk/mergeBatchResults@src/mongo/shell/bulk_api.js:841:49Bulk/executeBa tch@src/mongo/shell/bulk_api.js:906:13Bulk/this.execute@src/mongo/shell/bulk_api.js:1150:21DBCollection.prototype.insertOne@src/mongo/shell/crud_api.js:252:9@(쉘):1:1

find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -

> db.demo82.find();

그러면 다음과 같은 출력이 생성됩니다. 위에서 unique − true를 사용하므로 중복 값은 삽입되지 않습니다. −

{ "_id":ObjectId("5e2bfb1b71bf0181ecc422a0"), "EmployeeName":"Chris" }{ "_id":ObjectId("5e2bfb1f71bf0181ecc422a1"), "EmployeeName":"David"