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