English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
GridFS는 이미지, 오디오 파일, 비디오 파일 등 큰 파일을 저장하고 검색하기 위한 MongoDB 표준입니다. 파일 시스템과 유사하지만, 데이터는 MongoDB 컬렉션에 저장됩니다. GridFS는 문서 크기 제한을 초과할 수 있는 데이터를 저장할 수 있습니다.16mb)의 파일을 저장할 수 있습니다.
GridFS는 파일을 여러 블록으로 나누고, 각 데이터 블록을 별도의 문서에 저장하여, 파일의 최대 크기를255k.
기본적으로 GridFS는 두 개의 컬렉션을 사용합니다.fs.files
하고fs.chunks
파일의 메타데이터와 블록을 저장합니다. 각 블록은 유일한 _id ObjectId 필드로 구분됩니다. fs.files는 부모 문서로 사용됩니다.files_id
fs.chunks 문서의 필드는 블록을 부모 문서에 링크합니다.
다음은 fs.files 컬렉션의 샘플 문서입니다-
{ "filename": "test.txt", "chunkSize": NumberInt(261120), "uploadDate": ISODate("2014-04-13T11:32:33.557Z"), md5: "7b762939321e146569b07f72c62cca4f", "length": NumberInt(646) }
이 문서는 파일 이름, 블록 크기, 업로드 날짜 및 길이를 지정합니다.
다음은 fs.chunks 문서의 샘플 문서입니다-
{ "files_id": ObjectId("534a75d19f54bfec8a2fe44b") "n": NumberInt(0), "data": "Mongo Binary Data" }
이제 우리는 다음을 사용하겠습니다.put
GridFS에 mp 저장하는 명령어를 사용합니다.3파일을 사용합니다. 이를 위해mongofiles.exe
MongoDB 설치 폴더의 bin 폴더에 있는 도구.
명령 프롬프트를 엽니다. MongoDB 설치 폴더의 bin 폴더에 있는 mongofiles.exe에 이동한 후 다음 코드를 입력합니다.-
>mongofiles.exe -d gridfs put song.mp3
이곳gridfs
파일을 저장할 데이터베이스의 이름입니다. 데이터베이스가 존재하지 않으면 MongoDB가 자동으로 동적으로 새 문서를 생성합니다. Song.mp3은 업로드 파일의 이름입니다. 데이터베이스에서 파일 문서를 보려면 find 쿼리를 사용할 수 있습니다.-
>db.fs.files.find()
위의 명령어는 다음과 같은 문서를 반환했습니다:-
{ _id: ObjectId('534a811bf8b4aa4d33fdf94d'), filename: "song.mp3" chunkSize: 261120, uploadDate: new Date(1397391643474), md5: "e4f53379c909f7bed2e9d631e15c1c41" length: 10401959 }
이전 쿼리에서 반환된 문서 ID를 사용하여 fs.chunks 컬렉션에서 저장 파일과 관련된 모든 블록을 볼 수 있습니다:
>db.fs.chunks.find({files_id:ObjectId('534a811bf8b4aa4d33fdf94d')}
저의 경우, 이 쿼리는40개의 문서로 나누어져 있습니다. 이는 전체 mp3문서는40개의 데이터 블록。