MongoDB에서는 Collections에 데이터를 넣을때 ObejctID를 직접 넣어주지 않는 이상 자동으로 값이 부여가 되어 저장됩니다. 그리고 모든 데이터들은 각각의 ObjectID를 부여 받습니다.
이번 포스팅에서는 ObjectID가 무엇인지 알아보도록 하겠습니다.
MongoDB의 ObjectID
ObjectID는 12byte 크기의 문자와 숫자로 구성된 값입니다. ObjectID()의 값을 반환하면 12byte의 hexadecimal 값으로 결과를 반환합니다. 그리고 이 값들은 각각의 의미를 가지고 있습니다.
- 첫 4byte는 timestamp 값을 의미합니다. 이 값은 Unix시대부터 초단위로 측정된 값을 의미합니다.
- 다음 5byte는 랜덤으로 생성된 값입니다.
- 다음 3byte는 증가하는 count이며, 최초값은 랜덤으로 생성됩니다.
MongoDB는 BSON형태로 데이터를 저장한다고 지난 포스팅에서 말씀드렸습니다.
2021.03.11 - [쿤즈 Server/MongoDB] - [MongoDB] MongoDB에서 사용하는 JSON vs BSON
BSON 형식 자체는 litten-endian형식이지만, timestamp와 count는 big-endian이며, 바이트 시퀀스에서 가장 중요한 바이트가 먼저 나타난다고 합니다.
MongoDB에 저장되는 ObjectID
MongoDB에 데이터를 저장할 때, ObjectID를 별도로 지정해주지 않은 경우에는 자동으로 값이 부여가 됩니다.
이제 이 값들을 불러와서 사용하는 경우가 있다면 다음과 같은 함수를 사용합니다. 이렇게 저장된 ObjectID는 원하는 데이터를 찾거나 업데이트, 혹은 삭제를 할때 이용될 수 있습니다. RDBMS에서 primary key와 같은 역할을 해주는 값입니다.
참고자료 : docs.mongodb.com/manual/reference/method/ObjectId/index.html#objectid
MongoDB의 Insert를 알아보기 전 ObjectId에 대해서 알아보았습니다. 그럼 다음 포스팅에서는 실제 데이터를 넣었을 때, 어떠한 방법으로 넣고 어떻게 가져올 수 있는지 알아보도록 하겠습니다. 도움이 되셨으면 합니다. 이상입니다.
'쿤즈 Server > MongoDB' 카테고리의 다른 글
[MongoDB] 데이터 입력 (insert) 사용 방법 (0) | 2021.03.30 |
---|---|
[MongoDB] mongo shell을 이용한 mongodb 접속 방법(Windows / macOS) (0) | 2021.03.27 |
[MongoDB] Atlas 명령어 연결 및 find() 검색기능 사용방법 (0) | 2021.03.13 |
[MongoDB] MongoDB에서 사용하는 JSON vs BSON (0) | 2021.03.11 |
[MongoDB] 몽고DB란 무엇인가 (feat. NoSQL) (2) | 2021.03.03 |
댓글