내 필드 중 하나 인 을 기본 키으로 설정하고 싶습니다. 내 NoSQL로 MongoDB을 사용하고 있습니다.MongoDB에서 기본 키를 설정하는 방법은 무엇입니까?
답변
_id
필드는 mongodb의 기본 키로 예약되어 있으며 고유 한 값이어야합니다. _id
으로 설정하지 않으면 자동으로 "MongoDB Id Object"로 채울 것입니다. 그러나 해당 필드에 고유 정보를 넣을 수 있습니다.
추가 정보 :이 도움이 http://www.mongodb.org/display/DOCS/BSON
희망.
http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/
당신은이 링크를 자동 증가 _id
필드를 확인할 수 있습니다.
이 동작을 달성하는 한 가지 방법은 _id
(MongoDB에서 기본 키로 예약 됨) 필드를 기본 키로 취급하려는 사용자 정의 필드를 기반으로 설정하는 것입니다.
즉, employee_id
을 기본 키로 사용하려는 경우 MongoDB에서 문서를 만들 때. employee_id
의 값과 동일한 _id
값을 지정하십시오.
다른 방법으로 컬렉션에 Indexes
을 생성하고 고유한지 확인하십시오.
당신은 내가 실제로 매우 간단하고 쉽게 구현할 찾아 다음 link
에 대한보다 자세한 내용을보실 수 있습니다.
"인덱스의 고유 한 제약 조건으로 인해 컬렉션의 필드에 하나의 문서 만 사용할 수 있습니다. 공유 된 컬렉션의 경우 이러한 고유 인덱스는 삽입 및 인덱싱 작업이 로컬이므로 고유성을 적용 할 수 없습니다 각 샤드에 "--https : //docs.mongodb.org/manual/tutorial/enforce-unique-keys-for-sharded-collections/ – JohnC
mongodb _id 필드는 기본 키를 위해 예약되어 있습니다. Mongodb는 내부 ObjectId 값을 객체에 정의하지 않고 성능을 보장 할 색인을 생성하는 경우 내부 ObjectId 값을 사용합니다.
그러나 _id에 대한 고유 한 값을 넣을 수 있으며 Mongodb에서 대신 사용할 수 있습니다. 그리고 당신은 기본 키 등의 여러 필드를 사용하려는 경우에도 당신은 개체를 사용할 수 있습니다 :이 ID를 만들 때
{ _id : { a : 1, b: 1} }
그냥주의를 당신이 교환하는 경우 (예에서 a와 b) 키 문제의 순서 그들 주위에, 그것은 다른 대상으로 간주됩니다.
RDBMS처럼 기본 키를 만들 수 없으면 기본 기본 키는 _id입니다. 그러나 Unique Index을 만들 수 있습니다. 보기는 우둔합니다.
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 "이름": "nanhe"}
{ "_id"ObjectId가 ("577f9d02d71d71fa1fb6f43b"), "이름" "kumar"}
동일한 user_id를 삽입하려고하면 mongodb가 trow 쓰기 오류가 발생합니다.
db.members.insert({'user_id':1,'name':'aarush'})
WriteResult ({ "nInserted": 0, "writeError": { "코드"11000, "에 errmsg": "E11000 키 오류 수집을 중복 : student.members 지수 : user_id_1 DUP 키를 : 간단한
당신이 db.collectionName.createIndex({urfield:1},{unique:true});
을 사용할 수 있습니다 : {1.0} " } 은})이 기본 키
을 만드는 구문입니다db. < 모음> .createIndex (< 키와 인덱스 형 사양>, { 독특한 : TRUE})
이의 우리의 데이터베이스를 수집 학생라는 것을 보자과의 문서가 키라는 이름의 한 우리가 필요로하는을 student_id 기본 키를 만들 수 있습니다. 다음 명령은 아래와 같아야합니다.
db.student.createIndex({student_id:1},{unique:true})
당신이 가 학생 컬렉션에 중복 값을 추가하는 시도하여 기본 키로 세트를 student_id 여부를 확인할 수 있습니다.
실제로`방법, 차 key`로 내 필드 중 하나를 설정 예하는 대답하지 않습니다이 추가 정보 https://docs.mongodb.com/manual/core/index-unique/#create-a-unique-index- 1. routes.rb, 경로에 대해 다른 기본 키를 설정하는 방법은 무엇입니까?
- 2. 기본 포커스를 설정하는 방법은 무엇입니까?
- 3. 기본 키를 인증하는 방법은 무엇입니까?
- 4. Java에서 기본 기본 클래스를 설정하는 방법은 무엇입니까?
- 5. 외래 키를 null로 설정하는 방법은 무엇입니까? (symfony)
- 6. googledatastore를 사용하여 테이블에서 기본 키를 설정하는 방법.
- 7. PyGTK에서 기본 버튼을 설정하는 방법은 무엇입니까?
- 8. mongodb에서 참조를 제거하는 방법은 무엇입니까?
- 9. MongoDB에서 초기 데이터를로드하는 방법은 무엇입니까?
- 10. dbf 파일에서 기본 키를 찾는 방법은 무엇입니까?
- 11. Oracle보기에 기본 키를 추가하는 방법은 무엇입니까?
- 12. SQL에서 복합 기본 키를 정의하는 방법은 무엇입니까?
- 13. 기본 키를 순차적으로 만드는 방법은 무엇입니까?
- 14. 클러스터되지 않은 기본 키를 변경하는 방법은 무엇입니까?
- 15. SQL의 기본 키를 auto_increment로 변경하는 방법은 무엇입니까?
- 16. 기본 키를 만드는 방법은 문자입니까? 나는이 같은 기본 키를 만들
- 17. WebOs의 기본 언어를 설정하는 방법
- 18. Eclipse : 프로젝트의 기본 메소드를 설정하는 방법은 무엇입니까?
- 19. ublas 행렬에 기본 인덱스를 설정하는 방법은 무엇입니까?
- 20. Android에서 기본 메뉴 레이아웃을 설정하는 방법은 무엇입니까?
- 21. 기본 PropertyDescriptor를 속성으로 설정하는 방법은 무엇입니까?
- 22. configs.ini에서 기본 변환기를 설정하는 방법은 무엇입니까?
- 23. mapkit의 기본 주석 위치를 설정하는 방법은 무엇입니까?
- 24. Windows XP에서 기본 인코딩을 설정하는 방법은 무엇입니까?
- 25. 기본 키를 사용해야하는 이유는 무엇입니까?
- 26. MongoDB에서 MongoDB API에 직접 액세스하는 방법은 무엇입니까?
- 27. Mongodb에서 ManyToMany 관계를 구축하는 방법은 무엇입니까?
- 28. MongoDB에서 특정 유형을 쿼리하거나 삽입하는 방법은 무엇입니까?
- 29. mongoDB에서 키 이름으로 값을 검색하는 방법은 무엇입니까?
- 30. MongoDB에서 필드를 변경하거나 빠르게 업데이트하는 방법은 무엇입니까?
이 문서를 선호 : 나는 사용자 컬렉션 키로 USER_EMAIL를 원하지만 그것을 설정하는 방법 필드를 키 및 고유로 사용 –