std::vector<int> v1;
v1.push_back(4);
v1.push_back(5);
v1.push_back(6);
arrays.push_back(v1);
std::vector<int> v2;
v2.push_back(7);
v2.push_back(8);
v2.push_back(9);
arrays.push_back(v2);
using bsoncxx::builder::stream::document;
using bsoncxx::builder::stream::array;
using bsoncxx::builder::stream::open_array;
using bsoncxx::builder::stream::close_array;
using bsoncxx::builder::stream::open_document;
using bsoncxx::builder::stream::close_document;
auto arr = array{};
for (int i = 0; i < arrays.size(); i++) {
arr << open_array;
for (int j = 0; j < arrays[i].size(); j++) {
arr << arrays[i][j];
}
arr << close_array;
}
document filter_builder, update_builder;
filter_builder << "_id" << 1;
update_builder << "$push" << open_document << "myArrays" << open_document
<< "$each" << arr.view() << close_document << close_document;
db["array_thing"].update_one(filter_builder.view(), update_builder.view());
}