[MONGODB] 어떻게하여 MongoDB의 기본 키를 설정하는 방법?
MONGODB어떻게하여 MongoDB의 기본 키를 설정하는 방법?
나는 기본 키로 내 필드 중 하나를 설정합니다. 내 NoSQL에로 MongoDB를 사용하고 있습니다.
해결법
-
==============================
1._id 필드는 기본 키에 MongoDB를 위해 예약되며, 이는 고유 값이어야한다. 당신은 아무것도 설정하지 않으면 자동으로 "MongoDB의 아이디 개체"로 그것을 채울 것 _ID합니다. 하지만 당신은 그 필드에 고유 한 정보를 넣을 수 있습니다.
_id 필드는 기본 키에 MongoDB를 위해 예약되며, 이는 고유 값이어야한다. 당신은 아무것도 설정하지 않으면 자동으로 "MongoDB의 아이디 개체"로 그것을 채울 것 _ID합니다. 하지만 당신은 그 필드에 고유 한 정보를 넣을 수 있습니다.
추가 정보 : http://www.mongodb.org/display/DOCS/BSON
희망이 도움이.
-
==============================
2.다른 방법은 컬렉션에 대한 인덱스를 만들 수 있는지가 고유한지 확인하는 것입니다.
다른 방법은 컬렉션에 대한 인덱스를 만들 수 있는지가 고유한지 확인하는 것입니다.
다음 링크에서 자세한 내용을 찾을 수 있습니다
사실이 매우 간단을 찾아 쉽게 구현 할 수 있습니다.
-
==============================
3.MongoDB의에서 _id 필드가 기본 키 위해 예약되어 있습니다. 당신이 당신의 객체를 정의하고 또한 성능을 보장하기 위해 인덱스를 생성하지 않는 경우 MongoDB를 내부 ObjectId가 값을 사용합니다.
MongoDB의에서 _id 필드가 기본 키 위해 예약되어 있습니다. 당신이 당신의 객체를 정의하고 또한 성능을 보장하기 위해 인덱스를 생성하지 않는 경우 MongoDB를 내부 ObjectId가 값을 사용합니다.
하지만 당신은 _id에 대한 자신 만의 고유 한 값을 넣을 수 있습니다 및 MongoDB를 대신 당신을 위해 하나를 만드는 그것을 사용합니다. 그리고 당신은 기본 키 등의 여러 필드를 사용하려는 경우에도이 객체를 사용할 수 있습니다 :
{ _id : { a : 1, b: 1} }
키의 순서 (예에서 a와 b는) 당신이 주변을 교환하는 경우, 그것은 다른 개체로 간주됩니다, 중요한 것은 이러한 ID를 만들 때 조심해.
-
==============================
4.당신이 RDBMS처럼 생각하는 경우에 당신은, 기본 키를 생성 기본 키가 _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 "이름": "nanhe"}
{ "_id": ObjectId가 ( "577f9d02d71d71fa1fb6f43b"), "이름": "쿠마"}
당신은 같은 USER_ID의 MongoDB를 생각하다 쓰기 오류를 삽입 할 때.
db.members.insert({'user_id':1,'name':'aarush'})
WriteResult ({ "nInserted": 0, "writeError": { "코드": 11000, "에 errmsg": "E11000 중복 키 오류 모음 : student.members 지수 : user_id_1 DUP 키 : {1.0}" } })
-
==============================
5.(: {독특한 : TRUE}, {1 urfield}) 간단한 당신은 db.collectionName.createIndex을 사용할 수 있습니다;
(: {독특한 : TRUE}, {1 urfield}) 간단한 당신은 db.collectionName.createIndex을 사용할 수 있습니다;
-
==============================
6.이 동작을 달성하는 한 가지 방법은 기본 키로 처리 할 사용자 정의 필드를 기반으로 필드 (MongoDB의에서 기본 키 위해 예약되어 있습니다) _id의 값을 설정하는 것입니다. 즉, 내가 MongoDB의 문서를 작성시 다음 기본 키로 employee_id입니다하려는 경우; employee_id입니다과 동일한 할당 _id 값입니다.
이 동작을 달성하는 한 가지 방법은 기본 키로 처리 할 사용자 정의 필드를 기반으로 필드 (MongoDB의에서 기본 키 위해 예약되어 있습니다) _id의 값을 설정하는 것입니다. 즉, 내가 MongoDB의 문서를 작성시 다음 기본 키로 employee_id입니다하려는 경우; employee_id입니다과 동일한 할당 _id 값입니다.
-
==============================
7.http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/
http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/
또한이 링크를 확인하고 _id 필드를 자동으로 증가 할 수 있습니다.
-
==============================
8.이 기본 키를 생성하는 구문입니다
이 기본 키를 생성하는 구문입니다
하자 걸릴 우리의 데이터베이스는 학생 콜렉션 이름과 그것의 문서는 우리가 기본 키를 만들 필요가 키 이름 student_id을했다고. 그런 다음 명령은 다음과 같이해야한다.
db.student.createIndex({student_id:1},{unique:true})
당신은 학생 컬렉션에 중복 값을 추가하는 시도하여 기본 키로 여부를이 student_id 설정을 확인할 수 있습니다.
추가 정보는이 문서 https://docs.mongodb.com/manual/core/index-unique/#create-a-unique-index를 선호
from https://stackoverflow.com/questions/3298963/how-to-set-a-primary-key-in-mongodb by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 어떻게 MongoDB를 자바 드라이버를 사용하는 $ 또는 쿼리를 만들 수 있습니까? (0) | 2019.12.29 |
---|---|
[MONGODB] 기존 MongoDB의 항목에서 키 / 값 삭제 (0) | 2019.12.29 |
[MONGODB] 어떻게 유성 응용 프로그램에서 MongoDB를에 두 개의 열 고유 ID를 추가 할 수 있습니까? (0) | 2019.12.29 |
[MONGODB] MongoDB를 3 레벨 룩업 중첩 (0) | 2019.12.29 |
[MONGODB] MongoDB를위한 구성 파일을 만드는 방법 (0) | 2019.12.29 |