我不是使用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类插入文档,是否有示例?

另外,我似乎无法找到herevirtual 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/

10-12 22:01