【发布时间】:2012-02-20 19:55:30
【问题描述】:
我正在使用mongo-cxx 驱动程序尝试将BSON 对象的对象ID 转换为字符串
BSONObj r=some_function();
BSONElement oi;
r.getObjectID(oi);
OID o=oi.__oid();
cout<<"oid:"<<o.toString()<<endl;`
我确定BSONObj 有有效数据,但我收到以下错误:
BSONElement:错误类型#somenumber
【问题讨论】:
-
检查对象的 ID 确实是 OID 类型。或者使用检查过的 OID() 调用而不是 __oid()。
-
仍然遇到同样的错误。我是否正确使用函数 getObjectID? API 文档对它的解释不够充分。
-
试试这个:std::string oid = r["_id"].OID().toString();
-
还是不行。 BSONElement 类中没有定义函数 OID()。
-
我发现了我的错误并添加了答案。感谢您的帮助。
标签: c++ mongodb serialization bson mongo-cxx-driver