如何在MongoDB C ++驱动程序中使用DBClientBase类插入文档?

时间:2012-01-10 01:25:09

标签: c++ mongodb compiler-errors

我使用的是DBClientBase类,而不是使用DBClientConnection类。我已成功连接到数据库但无法插入文档。

以下是我的代码的样子 -

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类插入文档的示例?

另外,我似乎无法在virtual void insert (const string &ns, BSONObj obj, int flags=0) {{1}}中找到标记的用法here

1 个答案:

答案 0 :(得分:1)

conn是DBClientBase指针,您应该使用->代替:

conn->insert("db.coll", p, 0);