我需要使用 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/