์์ฒด ๊ด๋ฆฌ ๋ฐฐํฌ๋ฅผ ์ํ GridFS
์ด ํ์ด์ง์ ๋ด์ฉ
GridFS๋ BSON ๋ฌธ์ ํฌ๊ธฐ ์ ํ์ธ 16MB๋ฅผ ์ด๊ณผํ๋ ํ์ผ์ ์ ์ฅํ๊ณ ๊ฒ์ํ๊ธฐ ์ํ ์ฌ์์ ๋๋ค.
์ฐธ๊ณ
GridFS๋ ๋ค์ค๋ฌธ์ ํธ๋์ญ์ ์ ์ง์ํ์ง ์์ต๋๋ค.
GridFS๋ ํ์ผ์ ๋จ์ผ ๋ฌธ์์ ์ ์ฅํ๋ ๋์ ํ์ผ์ ์ฌ๋ฌ ๋ถ๋ถ, ์ฆ ์ฒญํฌ [1]๋ก ๋๋๊ณ ๊ฐ ์ฒญํฌ๋ฅผ ๋ณ๋์ ๋ฌธ์๋ก ์ ์ฅํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก GridFS๋ 255 kB์ ๊ธฐ๋ณธ ์ฒญํฌ ํฌ๊ธฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ฆ, GridFS๋ ๋ง์ง๋ง ์ฒญํฌ๋ฅผ ์ ์ธํ๊ณ ํ์ผ์ 255 kB์ ์ฒญํฌ๋ก ๋๋๋๋ค. ๋ง์ง๋ง ์ฒญํฌ๋ ํ์ํ ๋งํผ๋ง ์ปค์ง๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ์ฒญํฌ ํฌ๊ธฐ๋ณด๋ค ํฌ์ง ์์ ํ์ผ์๋ ํ์ํ ๋งํผ์ ๊ณต๊ฐ๊ณผ ์ผ๋ถ ์ถ๊ฐ ๋ฉํ๋ฐ์ดํฐ๋ง ์ฌ์ฉํ๋ ์ต์ข ์ฒญํฌ๋ง ์์ต๋๋ค.
GridFS๋ ๋ ๊ฐ์ ์ปฌ๋ ์ ์ ์ฌ์ฉํ์ฌ ํ์ผ์ ์ ์ฅํฉ๋๋ค. ํ ์ปฌ๋ ์ ์ ํ์ผ ์ฒญํฌ๋ฅผ ์ ์ฅํ๊ณ ๋ค๋ฅธ ์ปฌ๋ ์ ์ ํ์ผ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค. GridFS Collections ์น์ ์์ ๊ฐ ์ปฌ๋ ์ ์ ๋ํด ์์ธํ ์ค๋ช ํฉ๋๋ค.
GridFS์ ํ์ผ์ ์ฟผ๋ฆฌํ๋ฉด ๋๋ผ์ด๋ฒ๊ฐ ํ์์ ๋ฐ๋ผ ์ฒญํฌ๋ฅผ ์ฌ์กฐ๋ฆฝํฉ๋๋ค. GridFS๋ฅผ ํตํด ์ ์ฅ๋ ํ์ผ์ ๋ฒ์ ์ฟผ๋ฆฌ๋ฅผ ์ํํ ์ ์์ต๋๋ค. ๋ํ ๋์์์ด๋ ์ค๋์ค ํ์ผ ์ค๊ฐ์ '๊ฑด๋๋ฐ๊ธฐ'์ ๊ฐ์ด ํ์ผ์ ์์ ์น์ ์์ ์ ๋ณด์ ์ก์ธ์คํ ์๋ ์์ต๋๋ค.
GridFS๋ 16MB๋ฅผ ์ด๊ณผํ๋ ํ์ผ์ ์ ์ฅํ๋ ๋ฐ ์ ์ฉํ ๋ฟ๋ง ์๋๋ผ ์ ์ฒด ํ์ผ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ํ์ง ์๊ณ ๋ ์ก์ธ์คํ๋ ค๋ ๋ชจ๋ ํ์ผ์ ์ ์ฅํ๋ ๋ฐ์๋ ์ ์ฉํฉ๋๋ค. GridFS๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
GridFS๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ
MongoDB์์๋ 16MB๋ณด๋ค ํฐ ํ์ผ์ ์ ์ฅํ ๋ GridFS๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๊ฒฝ์ฐ์ ๋ฐ๋ผ ๋์ฉ๋ ํ์ผ์ ์ ์ฅํ๋ ๊ฒ์ด ์์คํ ์์ค์ ํ์ผ ์์คํ ๋ณด๋ค MongoDB ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ ํจ์จ์ ์ผ ์ ์์ต๋๋ค.
ํ์ผ ์์คํ ์ด ๋๋ ํฐ๋ฆฌ์ ํ์ผ ์๋ฅผ ์ ํํ๋ ๊ฒฝ์ฐ GridFS๋ฅผ ์ฌ์ฉํ์ฌ ํ์ํ ๋งํผ ๋ง์ ํ์ผ์ ์ ์ฅํ ์ ์์ต๋๋ค.
์ ์ฒด ํ์ผ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ํ์ง ์๊ณ ๋์ฉ๋ ํ์ผ์ ์ผ๋ถ์์ ์ ๋ณด์ ์ก์ธ์คํ๋ ค๋ ๊ฒฝ์ฐ์ GridFS๋ฅผ ์ฌ์ฉํ๋ฉด ์ ์ฒด ํ์ผ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฝ์ง ์๊ณ ํ์ผ ์น์ ์ ๋ถ๋ฌ์ฌ ์ ์์ต๋๋ค.
ํ์ผ ๋ฐ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์๋์ผ๋ก ๋๊ธฐํํ๊ณ ์ฌ๋ฌ ์์คํ ๋ฐ ์์ค์ ๋ฐฐํฌํ๋ ค๋ ๊ฒฝ์ฐ GridFS๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ง๋ฆฌ์ ์ผ๋ก ๋ถ์ฐ๋ ๋ณต์ ๋ณธ ์ธํธ๋ฅผ ์ฌ์ฉํ๋ฉด MongoDB๋ ํ์ผ๊ณผ ํด๋น ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ
mongod
์ธ์คํด์ค ๋ฐ ์์ค์ ์๋์ผ๋ก ๋ฐฐํฌํ ์ ์์ต๋๋ค.
์ ์ฒด ํ์ผ์ ์ฝํ ์ธ ๋ฅผ ์์ ๋จ์๋ก ์ ๋ฐ์ดํธํด์ผ ํ๋ ๊ฒฝ์ฐ์๋ GridFS๋ฅผ ์ฌ์ฉํ์ง ์๋๋ก ํฉ๋๋ค.๋์์ผ๋ก ๊ฐ ํ์ผ์ ์ฌ๋ฌ ๋ฒ์ ์ ์ ์ฅํ๊ณ ๋ฉํ๋ฐ์ดํฐ์์ ํ์ผ์ ํ์ฌ ๋ฒ์ ์ ์ง์ ํ ์ ์์ต๋๋ค.์ ๋ฒ์ ์ ํ์ผ์ ์ ๋ก๋ํ ํ ์์ ์ ๋ฐ์ดํธ์์ '์ต์ ' ์ํ๋ฅผ ๋ํ๋ด๋ ๋ฉํ๋ฐ์ดํฐ ํ๋๋ฅผ ์ ๋ฐ์ดํธํ ์ ์์ผ๋ฉฐ ํ์ํ ๊ฒฝ์ฐ ๋์ค์ ์ด์ ๋ฒ์ ์ ์ ๊ฑฐํ ์ ์์ต๋๋ค.
๋ํ ํ์ผ์ด ๋ชจ๋ BSON ๋ฌธ์ ํฌ๊ธฐ ์ ํ์ธ 16MB๋ณด๋ค ์์ ๊ฒฝ์ฐ์๋ GridFS๋ฅผ ์ฌ์ฉํ๋ ๋์ ๊ฐ ํ์ผ์ ๋จ์ผ ๋ฌธ์์ ์ ์ฅํ๋ ๊ฒ์ด ์ข์ต๋๋ค. BinData ๋ฐ์ดํฐ ์ ํ์ ์ฌ์ฉํด ๋ฐ์ด๋๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์์ต๋๋ค. BinData ์ฌ์ฉ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋๋ผ์ด๋ฒ ์ค๋ช ์๋ฅผ ์ฐธ์กฐํ์ธ์.
GridFS ์ฌ์ฉ
GridFS๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ์ ์ ์ฅํ๊ณ ๊ฒ์ํ๋ ค๋ฉด ๋ค์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ธ์:
MongoDB ๋๋ผ์ด๋ฒ์ ๋๋ค. ๋๋ผ์ด๋ฒ์์ GridFS๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋๋ผ์ด๋ฒ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
mongofiles
๋ช ๋ น์ค ๋๊ตฌ์ ๋๋ค. ์์ธํ ๋ด์ฉ์mongofiles
์ฐธ์กฐ ๋ฌธ์์์ ํ์ธํ ์ ์์ต๋๋ค.
GridFS ์ปฌ๋ ์
GridFS๋ ํ์ผ์ ๋ค์๊ณผ ๊ฐ์ ๋ ๊ฐ์ ์ปฌ๋ ์ ์ ์ ์ฅํฉ๋๋ค.
chunks
์(๋) ๋ฐ์ด๋๋ฆฌ ์ฒญํฌ๋ฅผ ์ ์ฅํฉ๋๋ค. ์์ธํ ๋ด์ฉ์chunks
์ปฌ๋ ์ ์ ์ฐธ์กฐํ์ธ์.
files
์(๋) ํ์ผ์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค. ์์ธํ ๋ด์ฉ์files
์ปฌ๋ ์ ์ ์ฐธ์กฐํ์ธ์.
GridFS๋ ๊ฐ ๋ฒํท ์์ ์ด๋ฆ์ ์ง์ ํด ๊ณตํต ๋ฒํท์ ์ปฌ๋ ์
์ ๋ฐฐ์นํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก GridFS๋ fs
๋ผ๋ ์ด๋ฆ์ด ์ง์ ๋ ๋ฒํท์ด ํฌํจ๋ ์ปฌ๋ ์
๋ ๊ฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
fs.files
fs.chunks
๋ค๋ฅธ ๋ฒํท ์ด๋ฆ์ ์ ํํ ์ ์์ ๋ฟ๋ง ์๋๋ผ ๋จ์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฌ๋ฌ ๋ฒํท์ ์์ฑํ ์๋ ์์ต๋๋ค. ๋ฒํท ์ด๋ฆ์ ํฌํจํ ์ ์ฒด ์ปฌ๋ ์ ์ด๋ฆ์๋ ๋ค์์คํ์ด์ค ๊ธธ์ด์ ํ์ด ์ ์ฉ๋ฉ๋๋ค.
chunks
์ปฌ๋ ์
chunks
[1] ์ปฌ๋ ์
์ ๊ฐ ๋ฌธ์๋ GridFS์์ ํํ๋๋ ๋ณ๊ฐ์ ํ์ผ ์ฒญํฌ๋ฅผ ๋ํ๋
๋๋ค. ์ด ์ปฌ๋ ์
์ ๋ฌธ์ ์์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ด ์ปฌ๋ ์
์ ๋ฌธ์ ์์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
{ "_id" : <ObjectId>, "files_id" : <ObjectId>, "n" : <num>, "data" : <binary> }
์ปฌ๋ ์
chunks
๋ฌธ์์๋ ๋ค์ ํ๋๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
chunks._id
์ฒญํฌ์ ๊ณ ์ ObjectId์ ๋๋ค.
chunks.n
์ฒญํฌ์ ์ํ์ค ๋ฒํธ์ ๋๋ค. GridFS๋ 0๋ถํฐ ์์ํ์ฌ ๋ชจ๋ ์ฒญํฌ์ ๋ฒํธ๋ฅผ ๋งค๊น๋๋ค.
chunks.data
์ฒญํฌ์ ํ์ด๋ก๋๋ BSON
Binary
์ ํ์ ๋๋ค.
files
์ปฌ๋ ์
files
collection ์ปฌ๋ ์
์ ๊ฐ ๋ฌธ์๋ GridFS์ ํ์ผ์ ๋ํ๋
๋๋ค.
{ "_id" : <ObjectId>, "length" : <num>, "chunkSize" : <num>, "uploadDate" : <timestamp>, "md5" : <hash>, "filename" : <string>, "contentType" : <string>, "aliases" : <string array>, "metadata" : <any>, }
files
์ปฌ๋ ์
๋ด์ ๋ฌธ์์๋ ๋ค์ ํ๋ ์ค ์ผ๋ถ ๋๋ ์ ๋ถ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
files._id
์ด ๋ฌธ์์ ๊ณ ์ ์๋ณ์์ ๋๋ค.
_id
๋ ์๋ณธ ๋ฌธ์์ ๋ํด ์ ํํ ๋ฐ์ดํฐ ์ ํ์ ๋๋ค. MongoDB ๋ฌธ์์ ๊ธฐ๋ณธ ์ ํ์ BSONObjectId์ ๋๋ค.
files.chunkSize
๊ฐ ์ฒญํฌ์ ํฌ๊ธฐ(๋ฐ์ดํธ)์ ๋๋ค. GridFS๋ ๋ง์ง๋ง ์ฒญํฌ๋ฅผ ์ ์ธํ๊ณ ๋ฌธ์๋ฅผ ํ์ํ ํฌ๊ธฐ์ ์ฒญํฌ
chunkSize
๋ก ๋๋๋๋ค. ๊ธฐ๋ณธ ํฌ๊ธฐ๋ 255 ํฌ๋ก๋ฐ์ดํธ(kB)์ ๋๋ค.
files.uploadDate
๋ฌธ์๊ฐ GridFS์ ์ฒ์ ์ ์ฅ๋ ๋ ์ง์ ๋๋ค. ์ด ๊ฐ์
Date
์ ํ์ ๋๋ค.
files.md5
๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
MD5 ์๊ณ ๋ฆฌ์ฆ์ FIPS 140-2์ ์ํด ๊ธ์ง๋์ด ์์ต๋๋ค. MongoDB ๋๋ผ์ด๋ฒ๋ MD5 ์ง์์ ์ค๋จํ๊ณ ํฅํ ๋ฆด๋ฆฌ์ค์์ MD5 ์์ฑ์ ์ ๊ฑฐํ ์์ ์ ๋๋ค. ํ์ผ ๋ค์ด์ ์คํธ๊ฐ ํ์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด๋ฅผ GridFS ์ธ๋ถ์์ ๊ตฌํํ๊ณ
files.metadata
์ ์ ์ฅํด์ผ ํฉ๋๋ค.
filemd5 ๋ช ๋ น์์ ๋ฐํ๋ ์ ์ฒด ํ์ผ์ MD5 ํด์์ ๋๋ค. ์ด ๊ฐ์
String
์ ํ์ ๋๋ค.
files.contentType
๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
์ ํ ์ฌํญGridFS ํ์ผ์ ์ ํจํ MIME ์ ํ์ ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฉ์ ๋๋ค.
GridFS ํ์ผ์ MIME ์ ํ๊ณผ ๊ด๋ จ๋ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ค๋ฉด
files.metadata
๋ฅผ ์ฌ์ฉํ์ธ์.
files.aliases
๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
์ ํ ์ฌํญ. ๋ณ์นญ ๋ฌธ์์ด์ ๋ฐฐ์ด์ ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฉ์ ๋๋ค.
GridFS ํ์ผ์ MIME ์ ํ๊ณผ ๊ด๋ จ๋ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ค๋ฉด
files.metadata
๋ฅผ ์ฌ์ฉํ์ธ์.
GridFS Indexes
GridFS๋ ํจ์จ์ฑ์ ์ํด chunks
๋ฐ files
์ปฌ๋ ์
๊ฐ๊ฐ์ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค. GridFS ์ฌ์์ ์ค์ํ๋ ๋๋ผ์ด๋ฒ๋ ํธ์๋ฅผ ์ํด ์ด๋ฌํ ์ธ๋ฑ์ค๋ฅผ ์๋์ผ๋ก ๋ง๋ญ๋๋ค. ๋ํ ์ ํ๋ฆฌ์ผ์ด์
์ ์๊ตฌ ์ฌํญ์ ๋ง๊ฒ ์ํ๋ ๋๋ก ์ถ๊ฐ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ ์๋ ์์ต๋๋ค.
chunks
์ธ๋ฑ์ค
GridFS๋ files_id
๋ฐ n
ํ๋๋ฅผ ์ฌ์ฉํ์ฌ chunks
์ปฌ๋ ์
์์ ๊ณ ์ ํ ๋ณตํฉ
์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ค์ ์์์ ๊ฐ์ด ์ฒญํฌ๋ฅผ ํจ์จ์ ์ผ๋ก ์กฐํํ ์ ์์ต๋๋ค.
db.fs.chunks.find( { files_id: myFileID } ).sort( { n: 1 } )
GridFS ์ฌ์์ ์ค์ํ๋ ๋๋ผ์ด๋ฒ๋ ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ (write) ์์ ์ ์ ์ด ์ธ๋ฑ์ค๊ฐ ์กด์ฌํ๋์ง ์๋์ผ๋ก ํ์ธํฉ๋๋ค. GridFS ์ ํ๋ฆฌ์ผ์ด์ ์ ํน์ ๋์์ ๊ด๋ จ ๋๋ผ์ด๋ฒ ์ค๋ช ์์์ ํ์ธํ์ธ์.
์ด ์ธ๋ฑ์ค๊ฐ ์๋ ๊ฒฝ์ฐ mongosh
:๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ ์์
์ ์คํํ๊ณ ์ธ๋ฑ์ค๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค:
db.fs.chunks.createIndex( { files_id: 1, n: 1 }, { unique: true } );
files
์ธ๋ฑ์ค
GridFS๋ filename
๋ฐ uploadDate
ํ๋๋ก files
์ปฌ๋ ์
์ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ฉด ๋ค์ ์์์ ๊ฐ์ด ํ์ผ์ ํจ์จ์ ์ผ๋ก ์กฐํํ ์ ์์ต๋๋ค.
db.fs.files.find( { filename: myFileName } ).sort( { uploadDate: 1 } )
GridFS ์ฌ์์ ์ค์ํ๋ ๋๋ผ์ด๋ฒ๋ ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ (write) ์์ ์ ์ ์ด ์ธ๋ฑ์ค๊ฐ ์กด์ฌํ๋์ง ์๋์ผ๋ก ํ์ธํฉ๋๋ค. GridFS ์ ํ๋ฆฌ์ผ์ด์ ์ ํน์ ๋์์ ๊ด๋ จ ๋๋ผ์ด๋ฒ ์ค๋ช ์์์ ํ์ธํ์ธ์.
์ด ์ธ๋ฑ์ค๊ฐ ์๋ ๊ฒฝ์ฐ mongosh
:๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ ์์
์ ์คํํ๊ณ ์ธ๋ฑ์ค๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค:
db.fs.files.createIndex( { filename: 1, uploadDate: 1 } );
[1] | (1, 2) GridFS์ ๋งฅ๋ฝ์์ ์ฒญํฌ๋ผ๋ ์ฉ์ด์ ์ฌ์ฉ์ ์ค๋ฉ์ ๋งฅ๋ฝ์์ ์ฒญํฌ๋ผ๋ ์ฉ์ด ์ฌ์ฉ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค. |
GridFS ์ค๋ฉ
GridFS์ ๊ด๋ จํ์ฌ files
๋ฐ chunks
์ ๋ ๊ฐ์ง ์ปฌ๋ ์
์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
chunks
์ปฌ๋ ์
chunks
์ปฌ๋ ์
์ ์ค๋ฉํ๋ ค๋ฉด { files_id : 1, n : 1
}
๋๋ { files_id : 1 }
์(๋ฅผ) ์ค๋ ํค ์ธ๋ฑ์ค๋ก ์ฌ์ฉํฉ๋๋ค. files_id
๋ ObjectId์ด๋ฉฐ ๋จ์กฐ๋กญ๊ฒ ๋ณ๊ฒฝ๋ฉ๋๋ค.
filemd5
๋ฅผ ์คํํ์ฌ ์
๋ก๋๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ด๋ฃจ์ด์ก๋์ง ํ์ธํ์ง ์๋ MongoDB ๋๋ผ์ด๋ฒ์ ๊ฒฝ์ฐ chunks
์ปฌ๋ ์
์ ํด์๋ ์ค๋ฉ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
MongoDB ๋๋ผ์ด๋ฒ๊ฐ filemd5
๋ฅผ ์คํํ๋ ๊ฒฝ์ฐ ํด์๋ ์ค๋ฉ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ SERVER-9888์ ์ฐธ์กฐํ์ธ์.
files
์ปฌ๋ ์
files
์ปฌ๋ ์
์ ํฌ๊ธฐ๊ฐ ์๊ณ ๋ฉํ๋ฐ์ดํฐ๋ง ํฌํจ๋์ด ์์ต๋๋ค. GridFS์ ํ์ํ ํค ์ค ์ด๋ ๊ฒ๋ ์ค๋๋ ํ๊ฒฝ์์ ๊ท ๋ฑํ๊ฒ ๋ฐฐํฌ๋๋ ๋ฐ ์ ํฉํ์ง ์์ต๋๋ค. files
๋ฅผ ์ค๋ฉํ์ง ์์ ์ํ๋ก ๋๋ฉด ๋ชจ๋ ํ์ผ ๋ฉํ๋ฐ์ดํฐ ๋ฌธ์๊ฐ ํ๋ผ์ด๋จธ๋ฆฌ ์ค๋์ ์ ์ฅ๋ฉ๋๋ค.
files
์ปฌ๋ ์
์ ๋ฐ๋์ ์ค๋ฉํด์ผ ํ๋ ๊ฒฝ์ฐ ๊ฐ๋ฅํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์
ํ๋์ ํจ๊ป
_id
ํ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.