source

MongoDB에서 프라이머리 키를 설정하는 방법

ittop 2023. 3. 28. 22:37
반응형

MongoDB에서 프라이머리 키를 설정하는 방법

필드하나를 기본 키로 설정합니다.MongoDB를 NoSQL로 사용하고 있습니다.

_id필드는 mongodb의 프라이머리 키용으로 예약되어 있습니다.이것은 하나의 값이어야 합니다.아무것도 설정하지 않으면_id자동으로 "MongoDB ID Object"로 채워집니다.그러나 이 필드에는 원하는 정보를 입력할 수 있습니다.

추가 정보 : http://www.mongodb.org/display/DOCS/BSON

도움이 됐으면 좋겠다.

mongodb의 _id 필드는 프라이머리 키용으로 예약되어 있습니다.Mongodb는 오브젝트에서 내부 ObjectId 값을 정의하지 않은 경우 내부 ObjectId 값을 사용하며 성능을 보장하기 위해 인덱스를 만듭니다.

그러나 _id에 고유한 값을 넣을 수 있으며 Mongodb는 당신을 위해 값을 만드는 대신 그것을 사용합니다.또한 여러 필드를 기본 키로 사용하는 경우에도 개체를 사용할 수 있습니다.

{ _id : { a : 1, b: 1} }

오브젝트를 ID로 사용할 때는 키 순서(이 예에서는 a와 b)가 중요하므로 그것들을 교환하면 다른 ID로 간주됩니다.

또 다른 방법은,Indexes특별함을 확인하시기 바랍니다.

자세한 내용은 다음 링크를 참조하십시오.

실제로 이 기능은 매우 단순하고 구현하기 쉽습니다.

RDBMS처럼 생각하면 프라이머리 키를 생성할 수 없습니다.기본 프라이머리 키는 _id 입니다.그러나 고유 색인을 만들 수 있습니다.예를 들면, Bellow 입니다.

db.members.createIndex( { "user_id": 1 }, { unique: true } )

db.members.insert({'user_id':1,'name':'nanhe'})

db.members.insert({'name':'kumar'})

db.members.find();

출력은 다음과 같습니다.

{ " _ id " : ObjectId ( " 577f9cecd71fa1fb6f43a") , "user_id" : 1, "name" : "nanhe" }

{ "_id" : ObjectId("577f9d02d71d71fa1fb6f43b") , "name" : "kumar" }

동일한 user_id mongodb를 삽입하려고 하면 쓰기 오류가 발생합니다.

db.members.insert({'user_id':1,'name':'aarush'})

WriteResult ({nInserted" : 0, "writeError" : { "code" : 11000, "errmsg" : "E11000 중복 키 오류 컬렉션: student.members 인덱스: user_id_1 dup 키: { : 1.0 } } )

심플하게

db.collectionName.createIndex({urfield:1},{unique:true});

이 동작을 실현하는 방법 중 하나는 값을 다음과 같이 설정하는 것입니다._id(MongoDB의 프라이머리 키용으로 예약되어 있습니다)필드는 프라이머리 키로 취급하는 커스텀필드에 근거합니다.
즉, 내가 원한다면employee_idMongoDB에서 문서를 작성할 때 기본 키로 사용합니다._id그것과 같은 가치employee_id.

기본 키 생성 구문입니다.

db.< 컬렉션>.create인덱스(< 키 및 인덱스 유형 사양>, { unique: true})

데이터베이스에는 student라는 이름의 컬렉션이 있고 문서에는 primary 키를 만들기 위해 필요한 student_id라는 이름의 키가 있다고 가정합니다.그러면 명령어는 다음과 같습니다.

db.student.createIndex({student_id:1},{unique:true})

student_id가 기본 키로 설정되어 있는지 확인하려면 학생 컬렉션에 중복된 값을 추가합니다.

상세한 것에 대하여는, 이 문서를 참조해 주세요.https://docs.mongodb.com/manual/core/index-unique/ # create - a - paramed - index

Meteor에서 Mongo를 사용한다면_ensureIndex:

CollectionName._ensureIndex({field:1 }, {unique: true});

MongoDB > Tutorial > 자동 증분 필드 작성 - 아카이브

이 를 체크하여 자동 수 ._idsyslog.syslog.syslog.

언급URL : https://stackoverflow.com/questions/3298963/how-to-set-a-primary-key-in-mongodb

반응형