복붙노트

[MONGODB] 어떻게하여 MongoDB의 기본 키를 설정하는 방법?

MONGODB

어떻게하여 MongoDB의 기본 키를 설정하는 방법?

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

해결법

  1. ==============================

    1._id 필드는 기본 키에 MongoDB를 위해 예약되며, 이는 고유 값이어야한다. 당신은 아무것도 설정하지 않으면 자동으로 "MongoDB의 아이디 개체"로 그것을 채울 것 _ID합니다. 하지만 당신은 그 필드에 고유 한 정보를 넣을 수 있습니다.

    _id 필드는 기본 키에 MongoDB를 위해 예약되며, 이는 고유 값이어야한다. 당신은 아무것도 설정하지 않으면 자동으로 "MongoDB의 아이디 개체"로 그것을 채울 것 _ID합니다. 하지만 당신은 그 필드에 고유 한 정보를 넣을 수 있습니다.

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

    희망이 도움이.

  2. ==============================

    2.다른 방법은 컬렉션에 대한 인덱스를 만들 수 있는지가 고유한지 확인하는 것입니다.

    다른 방법은 컬렉션에 대한 인덱스를 만들 수 있는지가 고유한지 확인하는 것입니다.

    다음 링크에서 자세한 내용을 찾을 수 있습니다

    사실이 매우 간단을 찾아 쉽게 구현 할 수 있습니다.

  3. ==============================

    3.MongoDB의에서 _id 필드가 기본 키 위해 예약되어 있습니다. 당신이 당신의 객체를 정의하고 또한 성능을 보장하기 위해 인덱스를 생성하지 않는 경우 MongoDB를 내부 ObjectId가 값을 사용합니다.

    MongoDB의에서 _id 필드가 기본 키 위해 예약되어 있습니다. 당신이 당신의 객체를 정의하고 또한 성능을 보장하기 위해 인덱스를 생성하지 않는 경우 MongoDB를 내부 ObjectId가 값을 사용합니다.

    하지만 당신은 _id에 대한 자신 만의 고유 한 값을 넣을 수 있습니다 및 MongoDB를 대신 당신을 위해 하나를 만드는 그것을 사용합니다. 그리고 당신은 기본 키 등의 여러 필드를 사용하려는 경우에도이 객체를 사용할 수 있습니다 :

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

    키의 순서 (예에서 a와 b는) 당신이 주변을 교환하는 경우, 그것은 다른 개체로 간주됩니다, 중요한 것은 이러한 ID를 만들 때 조심해.

  4. ==============================

    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. ==============================

    5.(: {독특한 : TRUE}, {1 urfield}) 간단한 당신은 db.collectionName.createIndex을 사용할 수 있습니다;

    (: {독특한 : TRUE}, {1 urfield}) 간단한 당신은 db.collectionName.createIndex을 사용할 수 있습니다;

  6. ==============================

    6.이 동작을 달성하는 한 가지 방법은 기본 키로 처리 할 사용자 정의 필드를 기반으로 필드 (MongoDB의에서 기본 키 위해 예약되어 있습니다) _id의 값을 설정하는 것입니다. 즉, 내가 MongoDB의 문서를 작성시 다음 기본 키로 employee_id입니다하려는 경우; employee_id입니다과 동일한 할당 _id 값입니다.

    이 동작을 달성하는 한 가지 방법은 기본 키로 처리 할 사용자 정의 필드를 기반으로 필드 (MongoDB의에서 기본 키 위해 예약되어 있습니다) _id의 값을 설정하는 것입니다. 즉, 내가 MongoDB의 문서를 작성시 다음 기본 키로 employee_id입니다하려는 경우; employee_id입니다과 동일한 할당 _id 값입니다.

  7. ==============================

    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. ==============================

    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를 선호

  9. from https://stackoverflow.com/questions/3298963/how-to-set-a-primary-key-in-mongodb by cc-by-sa and MIT license