2

mongo-cxx-driver を使用してファイルをアップロードしたいのですが、方法が見つかりません。mongodb の gridfs 機能を使用しようとしましたが、統合できませんでした。現在の安定バージョンの mongodb-cxx-driver (3.1.1) を使用します。

次のようにファイルを保存しようとすると、gridFs はエラーをスローします。

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;
}
4

1 に答える 1