WiredTiger、GridFS 和 Mongodb 上传文件和最大文件大小

WiredTiger, GridFS and Mongodb uploading file and max file size

关于WiredTiger存储的三个问题MongoDB。

  1. 我需要在可能超过 16MB 大小的数据库中存储(二进制)文件,现在我在 WiredTiger 网站上看到最大文件大小为 512MB,但是 Mongodb insert 方法它说所有文档的最大大小应该是 16MB,所以我可以在使用 WiredTiger 时存储大于 16MB 的文件吗?

  2. 我需要使用一个完整的文件而不是它的一部分(比如流式传输视频的一部分),可以使用 GridFS 吗?

  3. 如何在数据库中插入和查找文件?我找不到有关如何使用 WiredTiger 执行此操作的指南...

    我是否必须从 mongoshell 或 mongofiles 执行此操作?有没有办法通过 node.js?

  4. 以编程方式进行

1) GridFS 应该用于大于 16 MB 的文件: GridFS is a specification for storing and retrieving files that exceed the BSON-document size limit of 16 MB.

编辑: 检查 this answer GridFS 限制。

2) 在插入查询时 GridFS divides a file into chunks. When you query GridFS for a file, the driver will reassemble the chunks as needed.

3) 使用 WiredTiger 或其他引擎 (MMAPv1) 查询 GridFS 对用户来说是透明的。可以使用驱动程序方法查询文件,info here