Three questions about WiredTiger storage and MongoDB.
I need to store (binary) files in the DB that may exceed 16MB size, now I read on WiredTiger site that the maximum file size is 512MB, but on Mongodb insert method it says that the maximum size of all of the documents should be 16MB, so will I be able to store files that are larger then 16MB while using WiredTiger?
I need to use a complete file and not parts of it (like streaming parts of a video), is it possible to do with GridFS?
How can I insert and find files in the DB? I can't find a guide on how to do it with WiredTiger...
Do I have to do it from the mongoshell or mongofiles? Is there a way to do it programmatically with node.js?
1) GridFS should be used for files larger than 16 MB: GridFS is a specification for storing and retrieving files that exceed the BSON-document size limit of 16 MB.
EDIT: Check this answer for GridFS limits.
2) On insert query GridFS divides a file into chunks. When you query GridFS for a file, the driver will reassemble the chunks as needed.
3) Querying GridFS using WiredTiger or other engine (MMAPv1) is transparent for the user. Files can be queried using the driver methods, info here.