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()
๋ ๋ค์ ์
๋ ฅ ์ค ํ๋๋ฅผ ํ์ฉํ ์ ์์ต๋๋ค.
์
๋ ฅ ์ ํ | ์ค๋ช
|
---|---|
| ์ ํ ์ฌํญ. ์ ObjectId ์ 24์ 16์ง์ ๋ฌธ์์ด ๊ฐ์ ๋๋ค. |
| ์ ํ ์ฌํญ์ ๋๋ค. ์ด ๋จ์์ ์ ์ ๊ฐ์ด ์ ๋์ค ์๊ฐ์ ์ถ๊ฐ๋์ด ์ ํ์์คํฌํ๋ฅผ ์์ฑํฉ๋๋ค. |
๋ฐฉ๋ฒ
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๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
์ง์ ํ ๋ ์ง์ ๋ํ ๋ณ์ ์ค์
๋ด๋ถ์ ์ผ๋ก Date ๊ฐ์ฒด๋ ์ ๋์ค ์๊ฐ ์ดํ์ ๋ฐ๋ฆฌ์ด ์๋ฅผ ๋ํ๋ด๋ ๋ถํธ ์๋ 64๋นํธ ์ ์๋ก ์ ์ฅ๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ Date()
๋ฅผ ์ฐธ์กฐํ์ธ์.
myDate = new Date( "2024-01-01" )
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")
๋ค์๋ ์ฐธ์กฐํ์ธ์.