我正在使用一种方法在MongoDB数据库中存储一些数据。
void save_data(std::vector< class_a > list){
using namespace std;
using bsoncxx::builder::stream::document;
using bsoncxx::builder::stream::finalize;
std::vector< bsoncxx::document::value > documents;
for (size_t i = 0; i < list.size(); i++){
documents.push_back(document{}
<< "field 1" << list[i].get_data_1()
<< "field 2" << list[i].get_data_2()
<< finalize);
}
collection.insert_many(documents);
}
我知道该列表已存储了多个class_a
的对象。我使用name()
对象mongocxx::collection
的方法collection
来测试它是否可访问。它按预期返回了它的名字。所以我认为有一个客户端。但是insert_many()
方法会抛出错误:
“mongoc_bulk_operation_execute()需要一个客户端,还有一个尚未设置:通用服务器错误”
我做错了什么?
答案 0 :(得分:0)
我看到,指针std :: unique_ptr _pool中的函数acquire()返回客户端。