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_id
MongoDB에서 문서를 작성할 때 기본 키로 사용합니다._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 > 자동 증분 필드 작성 - 아카이브
이 를 체크하여 자동 수 ._id
syslog.syslog.syslog.
언급URL : https://stackoverflow.com/questions/3298963/how-to-set-a-primary-key-in-mongodb
'source' 카테고리의 다른 글
csv 워드프레스로 내보내기 (0) | 2023.04.02 |
---|---|
메서드 POST에 대한 Wordpress REST API 사용자 지정 끝점 (0) | 2023.03.28 |
구성 요소 외부에 있는 클릭 이벤트를 수신하는 방법 (0) | 2023.03.28 |
jeast spy인덱스 파일에서 작동하지 않으므로 속성을 재정의할 수 없습니다. (0) | 2023.03.28 |
React Native 투명 오버레이 (0) | 2023.03.28 |