ObjectId()
설명
ObjectId(<value>)
중요
Mongo쉬 방법
이 페이지에서는
mongosh
메서드를 설명합니다. 이는 Node.js와 같은 언어별 드라이버에 대한 설명서가 아닙니다.MongoDB API 드라이버의 경우 언어별 MongoDB 드라이버 설명서를 참조하세요.
새 ObjectId를 반환합니다. 12바이트 ObjectId는 다음으로 구성됩니다.
Unix epoch 이후 초 단위로 측정된 ObjectId 생성을 나타내는 4바이트 타임스탬프입니다.
프로세스당 한 번씩 생성되는 임의의 5바이트 값입니다. 이 임의의 값은 머신과 프로세스마다 고유합니다.
임의의 값으로 초기화되는 3바이트 증분 카운터입니다.
타임스탬프 및 카운터 값의 경우 가장 중요한 바이트가 바이트 시퀀스 (빅 엔디안) 에서 가장 먼저 나타납니다. 이는 최하위 바이트가 먼저 나타나는(리틀 엔디안) 다른 BSON 값과 다릅니다.
ObjectId를 생성하는 데 정수 값이 사용되는 경우 정수가 타임스탬프를 대체합니다.
호환성
다음 환경에서 호스팅되는 배포에 ObjectId()
사용할 수 있습니다.
MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
구문
ObjectId()
는 다음 입력 중 하나를 사용할 수 있습니다.
입력 유형 | 설명 |
---|---|
hexadecimal | 선택 사항. 새 ObjectId 의 24자 16진수 문자열 값입니다. |
integer | 선택 사항입니다. 정수 값(초)이 유닉스 시간 에 추가되어 새 타임스탬프를 생성합니다. |
방법
ObjectId()
에는 다음과 같은 메서드가 있습니다.
방법 | 설명 |
---|---|
객체의 타임스탬프 부분을 날짜로 반환합니다. | |
ObjectId를 16진수 문자열로 반환합니다. |
행동
MongoDB 5.0부터는 mongosh
가 레거시 mongo
셸을 대체합니다. ObjectId()
메서드는 mongosh
에서 레거시 mongo
셸과 다르게 작동합니다. 레거시 메서드에 대한 자세한 내용은 레거시 Mongo 셸을 참조하세요.
예시
새 ObjectId 생성
새 ObjectId를 생성하려면 인수 없이 ObjectId()
를 사용합니다.
newObjectId = ObjectId()
이 예에서 newObjectId
의 값은 다음과 같습니다.
ObjectId("507f1f77bcf86cd799439011")
16진수 문자열 반환
ObjectId를 16진수 문자열로 반환하려면 toString()
메서드를 사용합니다.
ObjectId("507f191e810c19729de860ea").toString()
이 메서드는 다음을 반환합니다.
507f191e810c19729de860ea
날짜 지정
사용자 지정 Date를 사용하여 ObjectId를 지정할 수 있습니다.
를 인수로 사용하여 새 timestamp
ObjectId를 설정합니다.
ObjectId.getTimestamp()
를 사용하여 Date를 확인할 수 있습니다.
newObjectId = ObjectId(timestamp)
ObjectId("6592008029c8c3e4dc76256c")
정수 문자열 지정
ObjectId 타임스탬프를 조정하려면 정수를 사용하여 새 ObjectId를 생성하세요.
newObjectId = ObjectId(32)
ObjectId 값은 다음과 유사합니다.
ObjectId("00000020f51bb4362eee2a4d")
예시 ObjectId는 다음과 같이 구성됩니다.
4바이트 타임스탬프.
00000020
5바이트 무작위 요소,
f51bb4362e
3바이트 카운터,
ee2a4d
ObjectId의 처음 4바이트는 유닉스 시간 이후의 시간(초)입니다. 이 예시에서 ObjectId 타임스탬프는 00000020
이며 16진수로는 32
입니다.
16진수 문자열 지정하기
16진수 문자열을 사용하여 ObjectId를 지정하려면 ObjectId()
를 호출할 때 고유한 24자 16진수 값을 전달하세요.
newObjectId = ObjectId("507f191e810c19729de860ea")