2017-01-06 4 views
1

Я хочу использовать 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; 
} 

ответ

0

Это похоже на старого клиента, а не на стабильную версию 3.1.1.

GridFS пока не доступен для стабильного клиента (первоначальный приоритет был связан с основными функциями CRUD), но GridFS находится в активной разработке и будет доступна в версии 3.2.0, ожидаемой в ближайшие пару месяцев. Если вы хотите следить за прогрессом, соответствующий билет JIRA - CXX-1130.

+0

Большое спасибо. Одна вещь, которую я не понимаю, почему клиентский драйвер инициализируется, как старый клиент, в папке ** «mongo-cxx-driver/src/mongo/client/examples» **. И еще один вопрос, пожалуйста, дайте мне понять, почему возникает ошибка сегментации, если я использую устаревший клиент? –

+0

Можете ли вы дать [SSCCE] (http://sscce.org), который показывает segfault? – xdg

+0

Я отредактировал вопрос и предоставил образец кода. Спасибо. –

 Смежные вопросы

  • Нет связанных вопросов^_^