【发布时间】:2019-03-04 02:16:12
【问题描述】:
我是 MongoDB 新手。
我了解了如何使用 GridFS 来存储数据存储在 MongoDB 集合中的文件。
此功能似乎对于存储大小超过 16 MB 的文档很有用。
如果我的集合在 16 MB 范围内只有少数,我可以选择性地对超过大小限制的文档使用 GridFS 吗?
如果是这样,我该怎么做?我可以使用 find 将它与集合中的其他文档一起正常检索吗?
【问题讨论】:
我是 MongoDB 新手。
我了解了如何使用 GridFS 来存储数据存储在 MongoDB 集合中的文件。
此功能似乎对于存储大小超过 16 MB 的文档很有用。
如果我的集合在 16 MB 范围内只有少数,我可以选择性地对超过大小限制的文档使用 GridFS 吗?
如果是这样,我该怎么做?我可以使用 find 将它与集合中的其他文档一起正常检索吗?
【问题讨论】:
是的,您可以使用所有文件大小的 GridFS。
如果您使用任何驱动程序前。 c#驱动
(new GridFSBucket(DataBase)).DownloadAsBytes(new ObjectId(id));
此方法返回所有块字节 concat。
如果您不使用任何驱动程序,则获取所有块字节;
db.getCollection('fs.chunks').find({files_id: ObjectId("5b75c26baf672123c8d5634a")})
你必须连接所有字节。
【讨论】: