MongoDB
MongoDB Developer Centerchevron-right
Developer Topicschevron-right
Productschevron-right
MongoDBchevron-right

Storing Large Objects and Files in MongoDB

Ken W. AlgerPublished Jan 27, 2022 • Updated May 13, 2022
MongoDB
Copy Link
facebook icontwitter iconlinkedin icon
random alt
Rate this tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Large objects, or "files", are easily stored in MongoDB. It is no problem to store 100MB videos in the database.
This has a number of advantages over files stored in a file system. Unlike a file system, the database will have no problem dealing with millions of objects. Additionally, we get the power of the database when dealing with this data: we can do advanced queries to find a file, using indexes; we can also do neat things like replication of the entire file set.
MongoDB stores objects in a binary format called BSON. BinData is a BSON data type for a binary byte array. However, MongoDB objects are typically limited to 16MB in size. To deal with this, files are "chunked" into multiple objects that are less than 255 KiB each. This has the added advantage of letting us efficiently retrieve a specific range of the given file.
While we could write our own chunking code, a standard format for this chunking is predefined, called GridFS. GridFS support is included in all official MongoDB drivers and also in the mongofiles command line utility.
A good way to do a quick test of this facility is to try out the mongofiles utility. See the MongoDB documentation for more information on GridFS.

More Information


Copy Link
facebook icontwitter iconlinkedin icon
Rate this tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Related
Tutorial
Currency Analysis with Time Series Collections #2 — Simple Moving Average and Exponential Moving Average Calculation

May 16, 2022
Tutorial
Build a RESTful API with HapiJS and MongoDB

May 31, 2022
Podcast
Making Diabetes Data More Accessible and Meaningful with Tidepool and MongoDB

May 16, 2022
Quickstart
Getting Started with Aggregation Pipelines in Python

Sep 23, 2022
Table of Contents
  • More Information