MongoDB에서 기본 키를 설정하는 방법은 무엇입니까?
내 필드 중 하나를 기본 키로 설정하고 싶습니다 . 내가 사용하고 MongoDB를을 내 NoSQL에있다.
_id
필드는 mongodb의 기본 키용으로 예약되어 있으며 고유 한 값이어야합니다. 아무것도 설정하지 않으면 _id
자동으로 "MongoDB Id Object"로 채워집니다. 그러나 해당 필드에 고유 한 정보를 입력 할 수 있습니다.
추가 정보 : http://www.mongodb.org/display/DOCS/BSON
도움이 되었기를 바랍니다.
다른 방법은 Indexes
컬렉션을 만들고 고유한지 확인하는 것입니다.
다음 링크 에서 더 많은 것을 찾을 수 있습니다
실제로 이것은 매우 간단하고 구현하기 쉽습니다.
mongodb에서 _id 필드는 기본 키용으로 예약되어 있습니다. Mongodb는 객체에 정의하지 않은 경우 내부 ObjectId 값을 사용하고 성능을 보장하기 위해 인덱스도 생성합니다.
그러나 _id에 고유 한 값을 입력 할 수 있으며 Mongodb는이를 대신 사용합니다. 여러 필드를 기본 키로 사용하려는 경우에도 객체를 사용할 수 있습니다.
{ _id : { a : 1, b: 1} }
키 순서 (예제에서 a와 b)가 중요한 이러한 ID를 만들 때주의해야합니다. 키를 바꾸면 다른 개체로 간주됩니다.
RDBMS처럼 기본 키를 만들 수 없다고 생각하는 경우 기본 기본 키는 _id입니다. 그러나 고유 색인을 만들 수 있습니다 . 예는 다음과 같습니다.
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 ( "577f9cecd71d71fa1fb6f43a"), "user_id": 1, "name": "nanhe"}
{ "_id": ObjectId ( "577f9d02d71d71fa1fb6f43b"), "name": "kumar"}
동일한 user_id mongodb trow 쓰기 오류를 삽입하려고 할 때.
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
.
http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/
이 링크를 확인하고 _id
필드를 자동으로 늘릴 수도 있습니다.
이것은 기본 키를 만드는 구문입니다.
db. <collection> .createIndex (<key and index type specification>, {unique : true})
데이터베이스에 student 라는 컬렉션이 있고 문서에는 기본 키를 만드는 데 필요한 student_id 라는 키가 있습니다. 그러면 명령은 다음과 같습니다.
db.student.createIndex({student_id:1},{unique:true})
학생 컬렉션에 중복 값을 추가 하여이 student_id 가 기본 키로 설정 되었는지 확인할 수 있습니다 .
자세한 정보는이 문서를 선호하십시오 https://docs.mongodb.com/manual/core/index-unique/#create-a-unique-index
참고 URL : https://stackoverflow.com/questions/3298963/how-to-set-a-primary-key-in-mongodb
'IT Share you' 카테고리의 다른 글
SQL Server Management Studio GUI에서 반환 한 원본과 동일한 SQL Server 저장 프로 시저 원본을 프로그래밍 방식으로 검색 하시겠습니까? (0) | 2020.11.20 |
---|---|
Hibernate HQL 쿼리 : 컬렉션을 쿼리의 명명 된 매개 변수로 설정하는 방법은 무엇입니까? (0) | 2020.11.20 |
브라우저 자바 스크립트 스택 크기 제한 (0) | 2020.11.20 |
Android 4.0 하위 제목 (섹션) 라벨 스타일링 (0) | 2020.11.20 |
파이썬 프로그램을 영원히 실행하는 방법은 무엇입니까? (0) | 2020.11.20 |