// 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;
那么,如何添加数组以及如何将float数组读回到array和vector呢?
最佳答案
要将数组添加到流文档中,请使用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;