Драйверы MongoDB 3.2 c ++, использующие $ существующие

bsoncxx::builder::stream::document search_builder;

mongocxx::options::find img_find; // This speeds up the queries

search_builder_images.clear();
search_builder_images <<  "_id" << "abc" << "data" << open_document <<"$exists" << true << close_document ;
for (bsoncxx::document::view doc : cursor_cal) {
std::cout << bsoncxx::to_json(doc) << std::endl;
}

auto cursor_cal = dbMongo [collectionName] .find (search_builder.view ());

Здесь случайно 50-50% шансов, иногда я получаю ожидаемый результат, а иногда я получаю ошибку ошибки сегментации.

Что я делаю неправильно ? (Я пытаюсь создать этот search_builder для поиска в базе данных mongodb и получения документов, где существуют данные?)

3

Решение

Это немного устарело, но у меня возникла проблема с сегфоутом при создании документа, не уверен, с чем вы столкнулись. Мне пришлось разбить конструкцию документа запроса на несколько строк, например:

auto queryDoc = document{};
queryDoc << _id << "abc";
queryDoc << "data" << open_document;
queryDoc << "$exists" << true;
queryDoc << close_document;
auto query = queryDoc << finalize;

Надеюсь, это поможет кому-то еще.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]