Я хочу использовать mongo-cxx-драйвер для загрузки файлов, но не могу найти способ. Пытался использовать функцию gridfs mongodb, но не мог интегрироваться. Использование текущей стабильной версии mongodb-cxx-драйвера (3.1.1).Как загрузить файлы в MongoDB через mongocxx C++ драйвер?
gridFs бросает ошибку при попытке сохранить файл, как это:
gfs.storeFile("filepath", "filename");
Ошибка: store_file: /usr/include/boost/smart_ptr/scoped_ptr.hpp:99: T * подталкивание :: scoped_ptr: : operator ->() const [с 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;
}
Большое спасибо. Одна вещь, которую я не понимаю, почему клиентский драйвер инициализируется, как старый клиент, в папке ** «mongo-cxx-driver/src/mongo/client/examples» **. И еще один вопрос, пожалуйста, дайте мне понять, почему возникает ошибка сегментации, если я использую устаревший клиент? –
Можете ли вы дать [SSCCE] (http://sscce.org), который показывает segfault? – xdg
Я отредактировал вопрос и предоставил образец кода. Спасибо. –