mongoDB c++11驱动获取插入文档的ID
mongoDB c++11 Driver get ID of inserted Document
我正在使用新的 c++11 mongoDB 驱动程序(不是旧版驱动程序)。
我试图在插入新文档后获取 mongoDB 中文档的 'id'。这个ID在返回值'retVal3'.
struct core::v1::optional<mongocxx::v_noabi::result::insert_one> retVal3 = collection.insert_one(document.view());
这是没有自动命令的操作。我希望 Eclipse 能够解决这个问题并帮助我从中获取 ID。没用。
在调试时我可以看到 ID。它保存在一个 12 字节的数组中。以十六进制显示它显示 ID。这个arry在这个结构的深处。
retVal3 ==> core::v1::impl::storage<mongocxx::v_noabi::result::insert_one, false> ==>
val ==> _generated_id ==> _b_oid ==> value ==> _bytes ==> _M_elems char [12]
我确实不知道如何从 struct/object 中获取这 12 个字节。
是物体吗?
有没有现成的Function?
你知道其他方法吗?
感谢
auto retVal = db.insert_one(hey.view()); // Part where document is uploaded to database
bsoncxx::oid oid = retVal->inserted_id().get_oid().value;
std::string JobID = oid.to_string();
我问了 mongoDB 团队。得到了这个工作响应 =).
我正在使用新的 c++11 mongoDB 驱动程序(不是旧版驱动程序)。
我试图在插入新文档后获取 mongoDB 中文档的 'id'。这个ID在返回值'retVal3'.
struct core::v1::optional<mongocxx::v_noabi::result::insert_one> retVal3 = collection.insert_one(document.view());
这是没有自动命令的操作。我希望 Eclipse 能够解决这个问题并帮助我从中获取 ID。没用。
在调试时我可以看到 ID。它保存在一个 12 字节的数组中。以十六进制显示它显示 ID。这个arry在这个结构的深处。
retVal3 ==> core::v1::impl::storage<mongocxx::v_noabi::result::insert_one, false> ==>
val ==> _generated_id ==> _b_oid ==> value ==> _bytes ==> _M_elems char [12]
我确实不知道如何从 struct/object 中获取这 12 个字节。 是物体吗?
有没有现成的Function? 你知道其他方法吗?
感谢
auto retVal = db.insert_one(hey.view()); // Part where document is uploaded to database
bsoncxx::oid oid = retVal->inserted_id().get_oid().value;
std::string JobID = oid.to_string();
我问了 mongoDB 团队。得到了这个工作响应 =).