刚开始在mongodb上构建应用程序以进行文件保存和检索,并发现它具有用于此目的的标准规范,名为GridFS。但不幸的是,我无法在C / C ++中找到任何启动示例。如果有人知道任何与之相关的事情,那么请给我指示。
编辑:
我读到,对于存储大小超过16MB的文件,使用了GridFS,那么文件大小小于16MB呢?我无法获得有关它的任何信息。对于较小的尺寸,我是否需要使用其他一些过程或相同的GridF?
由于
答案 0 :(得分:0)
可以通过课程mongo::GridFS
访问GridFS。 API非常自我解释。
或者,您可以将文件的二进制数据嵌入到普通文档中作为BSON BinData类型。 mongo::BSONObjBuilder
使用方法appendBinData将包含二进制内容的字段添加到文档中。
GridFS存在的原因是每个文档的上限为16MB。如果要存储大于16MB的数据,则需要将其拆分为多个文档。 GridFS是一种自动处理它的抽象,但它也可以用于较小的文件。
一般来说,你不应该为相同的内容混合使用这两种技术,因为它只是让事情变得更加复杂,而且收效甚微。如果您可以保证您的数据不接近16MB,请使用嵌入。当你偶尔有内容> 16MB,你应该使用GridFS甚至小于那个文件。