Class GridFS
Implementation of GridFS - a specification for storing and retrieving files that exceed the BSON-document size limit of 16MB.
Instead of storing a file in a single document, GridFS divides a file into parts, or chunks, and stores each of those chunks as a separate document. By default GridFS limits chunk size to 255k. GridFS uses two collections to store files. One collection stores the file chunks, and the other stores file metadata.
When you query a GridFS store for a file, the driver or client will reassemble the chunks as needed. You can perform range queries on files stored through GridFS. You also can access information from arbitrary sections of files, which allows you to "skip" into the middle of a video or audio file.
GridFS is useful not only for storing files that exceed 16MB but also for storing any files for which you want access without having to load the entire file into memory. For more information on the indications of GridFS, see MongoDB official documentation.
- MongoDB documentation
- GridFS
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final StringBucket to use for the collection namespacesstatic final intFile's chunk size
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionThis method creates an emptyGridFSInputFileinstance.createFile(byte[] data) Creates a file entry.createFile(File file) Creates a file entry.Creates a file entry.createFile(InputStream in, boolean closeStreamOnPersist) Creates a file entry.createFile(InputStream in, String filename) Creates a file entry.createFile(InputStream in, String filename, boolean closeStreamOnPersist) Creates a file entry.createFile(String filename) Creates a file entry.Finds a list of files matching the given query.Finds a list of files matching the given query.Finds a list of files matching the given filename.Finds a list of files matching the given filename.Finds one file matching the given objectId.Finds one file matching the given query.Finds one file matching the given filename.Finds one file matching the given objectId.Gets the bucket name used in the collection's namespace.protected DBCollectionGets theDBCollectionin which the binary chunks are stored.getDB()Gets the database used.Gets the list of files stored in this gridfs, sorted by filename.getFileList(DBObject query) Gets a filtered list of files stored in this gridfs, sorted by filename.getFileList(DBObject query, DBObject sort) Gets a sorted, filtered list of files stored in this gridfs.protected DBCollectionGets theDBCollectionin which the file's metadata is stored.voidRemoves all files matching the given query.voidRemoves all files matching the given filename.voidRemoves the file matching the given id.
- 
Field Details- 
DEFAULT_CHUNKSIZEpublic static final int DEFAULT_CHUNKSIZEFile's chunk size- See Also:
 
- 
DEFAULT_BUCKETBucket to use for the collection namespaces- See Also:
 
 
- 
- 
Constructor Details- 
GridFSCreates a GridFS instance for the default bucket "fs" in the given database. Set the preferred WriteConcern on the give DB with DB.setWriteConcern- Parameters:
- db- database to work with
- Throws:
- MongoException- if there's a failure
- See Also:
 
- 
GridFSCreates a GridFS instance for the specified bucket in the given database. Set the preferred WriteConcern on the give DB with DB.setWriteConcern- Parameters:
- db- database to work with
- bucket- bucket to use in the given database
- Throws:
- MongoException- if there's a failure
- See Also:
 
 
- 
- 
Method Details- 
getFileListGets the list of files stored in this gridfs, sorted by filename.- Returns:
- cursor of file objects
 
- 
getFileListGets a filtered list of files stored in this gridfs, sorted by filename.- Parameters:
- query- filter to apply
- Returns:
- cursor of file objects
 
- 
getFileListGets a sorted, filtered list of files stored in this gridfs.- Parameters:
- query- filter to apply
- sort- sorting to apply
- Returns:
- cursor of file objects
 
- 
findFinds one file matching the given objectId. Equivalent to findOne(objectId).- Parameters:
- objectId- the objectId of the file stored on a server
- Returns:
- a gridfs file
- Throws:
- MongoException- if the operation fails
 
- 
findOneFinds one file matching the given objectId.- Parameters:
- objectId- the objectId of the file stored on a server
- Returns:
- a gridfs file
- Throws:
- MongoException- if the operation fails
 
- 
findOneFinds one file matching the given filename.- Parameters:
- filename- the name of the file stored on a server
- Returns:
- the gridfs db file
- Throws:
- MongoException- if the operation fails
 
- 
findOneFinds one file matching the given query.- Parameters:
- query- filter to apply
- Returns:
- a gridfs file
- Throws:
- MongoException- if the operation fails
 
- 
findFinds a list of files matching the given filename.- Parameters:
- filename- the filename to look for
- Returns:
- list of gridfs files
- Throws:
- MongoException- if the operation fails
 
- 
findFinds a list of files matching the given filename.- Parameters:
- filename- the filename to look for
- sort- the fields to sort with
- Returns:
- list of gridfs files
- Throws:
- MongoException- if the operation fails
 
- 
findFinds a list of files matching the given query.- Parameters:
- query- the filter to apply
- Returns:
- list of gridfs files
- Throws:
- MongoException- if the operation fails
 
- 
findFinds a list of files matching the given query.- Parameters:
- query- the filter to apply
- sort- the fields to sort with
- Returns:
- list of gridfs files
- Throws:
- MongoException- if the operation fails
 
- 
removeRemoves the file matching the given id.- Parameters:
- id- the id of the file to be removed
- Throws:
- MongoException- if the operation fails
 
- 
removeRemoves all files matching the given filename.- Parameters:
- filename- the name of the file to be removed
- Throws:
- MongoException- if the operation fails
 
- 
removeRemoves all files matching the given query.- Parameters:
- query- filter to apply
- Throws:
- MongoException- if the operation fails
 
- 
createFileCreates a file entry. After calling this method, you have to callGridFSInputFile.save().- Parameters:
- data- the file's data
- Returns:
- a gridfs input file
 
- 
createFileCreates a file entry. After calling this method, you have to callGridFSInputFile.save().- Parameters:
- file- the file object
- Returns:
- a GridFS input file
- Throws:
- IOException- if there are problems reading- file
 
- 
createFileCreates a file entry. After calling this method, you have to callGridFSInputFile.save().- Parameters:
- in- an inputstream containing the file's data
- Returns:
- a gridfs input file
 
- 
createFileCreates a file entry. After calling this method, you have to callGridFSInputFile.save().- Parameters:
- in- an inputstream containing the file's data
- closeStreamOnPersist- indicate the passed in input stream should be closed once the data chunk persisted
- Returns:
- a gridfs input file
 
- 
createFileCreates a file entry. After calling this method, you have to callGridFSInputFile.save().- Parameters:
- in- an inputstream containing the file's data
- filename- the file name as stored in the db
- Returns:
- a gridfs input file
 
- 
createFilepublic GridFSInputFile createFile(InputStream in, @Nullable String filename, boolean closeStreamOnPersist) Creates a file entry. After calling this method, you have to callGridFSInputFile.save().- Parameters:
- in- an inputstream containing the file's data
- filename- the file name as stored in the db
- closeStreamOnPersist- indicate the passed in input stream should be closed once the data chunk persisted
- Returns:
- a gridfs input file
 
- 
createFileCreates a file entry.- Parameters:
- filename- the file name as stored in the db
- Returns:
- a gridfs input file
- See Also:
 
- 
createFileThis method creates an emptyGridFSInputFileinstance. On this instance anOutputStreamcan be obtained using theGridFSInputFile.getOutputStream()method. You can still callGridFSInputFile.setContentType(String)andGridFSInputFile.setFilename(String). The file will be completely written and closed after calling theOutputStream.close()method on the output stream.- Returns:
- GridFS file handle instance.
 
- 
getBucketNameGets the bucket name used in the collection's namespace. Default value is 'fs'.- Returns:
- the name of the file bucket
 
- 
getDBGets the database used.- Returns:
- the database
 
- 
getFilesCollectionGets theDBCollectionin which the file's metadata is stored.- Returns:
- the collection
 
- 
getChunksCollectionGets theDBCollectionin which the binary chunks are stored.- Returns:
- the collection
 
 
-