c++ - 有没有办法使用 mongocxx 驱动程序从 GridFS 集合文件下载任意范围?

标签 c++ mongodb mongo-cxx-driver

我需要使用 GridFS 规范随机访问存储在 MongoDB 中的文件。看来 C++ 驱动程序 (mongocxx) 没有提供执行此操作的接口(interface)。我可以从 mongocxx::gridfs::bucket 创建一个 mongocxx::gridfs::downloader 对象,但是我能找到的唯一“较低级别”读取操作是

std::size_t 读取(std::uint8_t *缓冲区,std::size_t 长度)

我缺少的是第三个参数std::size_t offset。我当前的解决方法是完全绕过 mongocxx::gridfs API,即查询 block 集合并手动创建所需的缓冲区。但我实际上想使用驱动程序的 API 来实现这一点。

mongocxx 驱动程序中是否有适合我的用例的 API,但我没有看到,或者我应该编写功能请求吗?

最佳答案

在仔细研究了所有相关来源并在 mongodb user group 中讨论了这个问题之后,这个问题的答案是

不,目前还没有使用 mongo C++ 驱动程序的 GridFS API 进行部分文件检索的 API。

我已提交 feature request在 MongoDB JIRA 系统中。

关于c++ - 有没有办法使用 mongocxx 驱动程序从 GridFS 集合文件下载任意范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58993065/

相关文章:

c++ - 从 QByteArray 以十六进制获取 imei

mongodb - 每个 MongoDB 文档的 BSON 大小

c++ - 如何在 mongocxx (c++) 中抑制字段?

c++ - 变量类派生自某个抽象类的类模板

c++ - MPI忽略cin

javascript - mongodb 更新 JSON 数组

c++ - MongoDB C++ 教程程序失败 : 'mongocxx::v_noabi::logic_error'

c++ - 如何将mongo shell命令转换为mongocxx语法

c++ - 使用 boost 绑定(bind)/函数创建菜单处理程序

node.js - 我想计算nodejs mongodb列中的三个字段,并且需要按月对其进行分组