- Data Models >
- Data Model Reference >
- GridFS Reference
GridFS Reference¶
On this page
GridFS stores files in two collections:
chunksstores the binary chunks. For details, see The chunks Collection.filesstores the file’s metadata. For details, see The files Collection.
GridFS places the collections in a common bucket by prefixing each
with the bucket name. By default, GridFS uses two collections with
names prefixed by fs bucket:
fs.filesfs.chunks
You can choose a different bucket name than fs, and create
multiple buckets in a single database.
See also
GridFS for more information about GridFS.
The chunks Collection¶
Each document in the chunks collection represents a distinct chunk
of a file as represented in the GridFS store. The following is a
prototype document from the chunks collection.:
A document from the chunks collection contains the following fields:
-
chunks.files_id¶ The
_idof the “parent” document, as specified in thefilescollection.
-
chunks.n¶ The sequence number of the chunk. GridFS numbers all chunks, starting with 0.
The chunks collection uses a compound index on
files_id and n, as described in GridFS Index.
The files Collection¶
Each document in the files collection represents a file in the
GridFS store. Consider the following prototype of a document in
the files collection:
Documents in the files collection contain some or all of the
following fields. Applications may create additional arbitrary fields:
-
files._id¶ The unique ID for this document. The
_idis of the data type you chose for the original document. The default type for MongoDB documents is BSON ObjectId.
-
files.length¶ The size of the document in bytes.
-
files.chunkSize¶ The size of each chunk. GridFS divides the document into chunks of the size specified here. The default size is 255 kilobytes.
Changed in version 2.4.10: The default chunk size changed from 256k to 255k.
-
files.uploadDate¶ The date the document was first stored by GridFS. This value has the
Datetype.
-
files.md5¶ An MD5 hash returned from the filemd5 API. This value has the
Stringtype.
-
files.filename¶ Optional. A human-readable name for the document.
-
files.contentType¶ Optional. A valid MIME type for the document.
-
files.aliases¶ Optional. An array of alias strings.
-
files.metadata¶ Optional. Any additional information you want to store.