我不是使用DBClientConnection类,而是使用DBClientBase类。我可以成功连接到数据库,但不能插入文档。
这是我的代码的样子-
DBClientBase *conn = NULL;
string err_msg;
ConnectionString cs = ConnectionString::parse(connString, err_msg);
if (!cs.isValid()) {
throw "bad: " + err_msg;
}
try {
conn = cs.connect(err_msg);
} catch (DBException &e) {
cout << "caught " << err_msg << endl;
return 1;
}
if (!conn){
cout<<"Unable to connect to DB"<<endl;
return 1;
}
BSONObjBuilder b;
b.append("name", "Joe");
b.append("age", 33);
BSONObj p = b.obj();
conn.insert("db.coll",p,0);
编译器给出错误
request for member ‘insert’ in ‘conn’, which is of non-class type ‘mongo::DBClientBase*’
关于如何使用DBClientBase类插入文档,是否有示例?
另外,我似乎无法找到here中
virtual void insert (const string &ns, BSONObj obj, int flags=0)
中标志的用途 最佳答案
conn是指向DBClientBase
的指针,应改为使用->
:
conn->insert("db.coll", p, 0);
关于c++ - 如何在MongoDB C++驱动程序中使用DBClientBase类插入文档?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8797500/