IT

MongoDB의 "id" 필드와 "_id" 필드의 차이

itgroup 2023. 3. 19. 18:05
반응형

MongoDB의 "id" 필드와 "_id" 필드의 차이

필드 ID 또는 _ID를 MongoDB 문서와 사용하는 것과 차이가 있습니까?

저는 보통 '_id'를 사용하기 때문에 질문합니다만, 문서에는 http://www.mongodb.org/display/DOCS/Optimizing+Object+IDs#OptimizingObjectIDs-Sortbyidtosortbyinsertiontime라는 sort(id:-1)가 기재되어 있습니다.

편집

의사선생님이 틀렸대요

서류에 오타가 있는 것 같아요._id필드는 모든 문서의 기본 키입니다.라고 합니다._id를 통해 액세스 할 수도 있습니다.id. 를 사용하려고 합니다.id키 결과,illegal ObjectId format에러입니다.

이 섹션은 자동으로 생성된 객체가ID는 타임스탬프로 시작하므로 문서를 자동으로 정렬할 수 있습니다.이거 꽤 멋진데?_id모든 컬렉션에서 자동으로 인덱싱됩니다.상세한 것에 대하여는, http://www.mongodb.org/display/DOCS/Object+IDs 를 참조해 주세요.특히 'BSON 오브젝트'에서ID 사양」을 참조해 주세요.

BSON 오브젝트ID는 4바이트 타임스탬프(에폭 이후 초), 3바이트 머신 ID, 2바이트 프로세스 ID 및 3바이트 카운터로 구성된 12바이트 값입니다.타임스탬프 및 카운터 필드는 BSON의 다른 부분과 달리 빅엔디안을 저장해야 합니다.

_id필드는 Bson ObjectId의 기본 필드이며 기본적으로 색인화되어 있습니다.

_id및 ID가 동일하지 않습니다.또한 다음과 같은 필드를 추가할 수도 있습니다.id인덱스를 추가하지 않으면 인덱스가 되지 않습니다.

그것은 단지 문서의 오타일 뿐이다.

id는 mongoid.id의 _id 에일리어스이며 문서의 _id를 반환합니다.https://github.com/mongodb/mongoid/blob/master/lib/mongoid/fields.rb#L47

_id 필드가 지정되지 않은 경우 ObjectedId가 자동으로 생성됩니다.

내 의견:

_id 필드

MongoDB를 할당하다_id각 문서에 대한 기본 색인을 할당합니다.2차 지수를 적용하는 방법도 있습니다.디폴트로는MongoDB에 대한 값을 만듭니다._id활자 분야ObjectID이 값은 에 정의되어 있습니다.BSON스펙은 다음과 같이 구성되어 있습니다.

ObjectID(12바이트 HEX 문자열) = Date(4바이트, Unix Epoch 이후의 초수를 나타내는 타임스탬프 값) + MAC 주소(3바이트) + PID(2바이트) + Counter(3바이트)

언급URL : https://stackoverflow.com/questions/9694460/difference-between-id-and-id-fields-in-mongodb

반응형