Добавление массива BSON в документ MongoDB 3.2 и извлечение значений обратно (MongoCXX 3.2) (C ++ 11)

    // The document I want to add data to and extract it back from c++
bsoncxx::builder::stream::document data_builder,

// I want to try and save this array in my document , as I want to  populate it later
bsoncxx::builder::stream::array mybsonarr;
for(float i = 0 ; i < 5 ; i = i + 0.1f){
mybsonarr << i;
}// Now this line Throws an error
data_builder << "_id" << 5 << "my_array" << &mybsonarr;

Итак, как я могу добавить свой массив, а также как я могу считать обратно мой массив с плавающей точкой в ​​массив или вектор?

3

Решение

Для добавления массива в потоковый документ используйте open_array:

  using bsoncxx::builder::stream::document;
using bsoncxx::builder::stream::open_array;
using bsoncxx::builder::stream::close_array;
using bsoncxx::builder::stream::finalize;

document data_builder{};
data_builder << "_id" << 5;
auto array_builder = data_builder << "my_array" << open_array;
for (float i = 0 ; i < 5 ; i = i + 0.1f) {
array_builder << i;
}
array_builder << close_array;
bsoncxx::document::value doc = data_builder << finalize;
std::cout << bsoncxx::to_json(doc) << std::endl;
3

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

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

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