我正在使用MongoDB C++驱动程序(版本3.4.0供参考(。我需要获取给定文档的_id
。首先,我拿起文件:
bsoncxx::stdx::optional<bsoncxx::document::value> sub = conn["mydb"]["csubs"].find_one(...);
所以我可以通过这种方式访问_id
:
sub->view()["_id"].get_oid();
目前为止,一切都好。
据我在驱动程序 API 中读取的内容,此对象的类型为types::b_oid
。但是,我需要将其作为std::string
.
令人惊讶的是,我在types::b_oid
类文档中没有找到任何用于字符串转换的方法。我的意思是,典型的to_string()
方法,所以我可以调用以下内容:
sub->view()["_id"].get_oid().to_string();
可能我错过了一些东西(因为用例似乎太明显了:),但是在检查文档一段时间后,我还没有找到解决方案。欢迎任何帮助!
我认为您可以从value
字段中调用to_string()
:
sub->view()["_id"].get_oid().value.to_string();
这是来自mongocxx github存储库的示例