当前位置: 首页 > 知识库问答 >
问题:

如何通过mongocxx C++驱动程序在MongoDB中上传文件?

封瑞
2023-03-14

我想用mongo-cxx-driver上传文件但找不到办法。尝试使用mongodb的gridfs特性,但无法集成。使用当前稳定版本mongodb-cxx-driver(3.1.1)。

gfs.storeFile("filepath", "filename");

错误:store_file:/usr/include/boost/smart_ptr/scoped_ptr。hpp:99:T*boost::scoped_ptr::operator->()const[with T=mongo::atomicword]:断言`px!=0'失败。中止(核心转储)

此外,如果mongo客户端被初始化,它会提供分段错误。

#include "mongo/client/dbclient.h"
#include <iostream>
#include <cstdlib>

using namespace std;
using namespace mongo;

int main(int argc, const char** argv) {
    cout<<"good so far"<<endl;
    client::GlobalInstance instance; //everytime producing segmentation fault   
    if (!instance.initialized()) {
        std::cout << "failed to initialize the client driver: " << instance.status() << std::endl;
        return EXIT_FAILURE;
    }
    else
    {
         std::cout << "Successfully initialized the client driver: " << instance.status() << std::endl;
    }
     return EXIT_SUCCESS;
}

共有1个答案

曾枫
2023-03-14

这看起来像是遗留客户端,而不是稳定的3.1.1版本。

GridFS还不能用于稳定的客户机(最初的优先级是基本的CRUD特性),但是GridFS正在积极开发中,预计在未来几个月的3.2.0版本中可以使用。如果你想关注进度,相关的JIRA票是CXX-1130。

 类似资料:
  • 我在命令终端上输入了以下命令,以便在Macbook Pro的XAMPP上与PHP一起使用“MongoClient”: brew安装wget brew安装autoconf sudo/Applications/XAMPP/xamppfiles/bin/pecl安装mongo 添加了扩展名=mongo。php也是如此。ini/Applications/XAMPP/xamppfiles/etc 重新启动A

  • 我已经安装了mongodb,我可以通过终端访问它。我想在OSX(约塞米蒂)中安装XAMPP的驱动程序。我下载了mongo。因此,将其保存在/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20131226路径下,该路径是我的扩展名指向并写入的extension=mongo。所以在php中。这是一个文件,但没有运气。

  • 新的Google chrome更新会在浏览器中出现这样的信息:“您正在使用不受支持的命令行标志:--Ignore-Certifice-Errors。稳定性和安全性将受到影响。” 根据我在selenium bug报告中读到的内容,临时解决方案是启动webdriver

  • 我有一个问题,上传文件到网络系统使用硒驱动程序。所以在我的页面上,我没有任何输入来设置文件路径,而且我在网络上找到的大多数解决方案都不适合我。我必须点击上传文件按钮,然后在窗口对话框中设置文件的路径。我找到了winforms SendKeys类中使用的方法: 它的工作,但只有当测试有完全控制的机器(如果没有-路径已发送到某处不对话)。这就是问题所在,因为我无法完全控制运行测试的机器。你知道不使用S

  • 打开:sudo/Applications/XAMPP/xamppfiles/bin/pecl安装mongo 以下是我得到的错误: sudo: setrLimited(8):无效参数警告:不建议使用通道:///mongoDB警告:通道pecl.php.net已经更新了它的协议,使用PECL通道更新pecl.php.net更新PECL/mongo需要PHP(版本

  • 我正在使用Phantomjs驱动程序运行一个selenium webdriver脚本headless。我在上传文件时遇到了问题,因为在普通浏览器(firefox或chrome)上,它会弹出操作系统对话框,允许我在机器中找到文件并上传。如何使用ghostDriver(Phantomjs驱动程序)来实现这一点?谢谢