3
    // 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 配列を and array または vector に読み戻すにはどうすればよいでしょうか?

4

1 に答える 1

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;
于 2016-06-16T14:17:45.997 に答える