From DreamFactory
Jump to: navigation, search

GridFS is a specification within MongoDB that allows for storing and retrieving files that exceed the BSON-document size limit of 16 MB. DreamFactory's GridFS service uses a MongoDB connection to create a Remote File Service, so you can interact with as you would with any other remote file service, such as AWS S3 or Azure Blob Storage.

Service Config

Even though it’s a file storage service, you'll notice that the service config tab looks very similar to a MongoDB database service. On the Config tab, enter in any MongoDB specific connection parameters.

GridFS Service Config Example

The database you select in the config will be the database where the two GridFS collections are located. These will be by default, fs.files and fs.chunks. Leaving the Bucket field empty will result in the default collections being created, however, you can choose another name for the collection to replace the "fs" portion of the collection(s) if you wish. This will allow for multiple GridFS collections on the same database if you have multiple services running.

Two GridFS Collections in a Single Database

Using GridFS

GridFS is primarily used for blog storage and is set up for streaming. However, the DreamFactory implementation of GridFS includes the ability to add folders and files within folders if you so choose. A simple GET call to your service endpoint will retrieve the top-level root contents. Keep in mind that you can also use the Files tab in DreamFactory Admin App to quickly navigate your GridFS service.

{ "resource": [

           "oid": "5a5622ea11018b15d52c18e2",
           "name": "myGridFSFolder",
           "content_type": "application/x-directory",
           "content_length": 0,
           "last_modified": "2018-01-10T14:27:54+00:00",
           "path": "myGridFSFolder/",
           "type": "folder"