如何在mongo-c-driver或mongo-cxx-driver中插入文档后获取_id
?
以下代码段来自mongo-shell,其中显示_id
最后一行中的WriteResult
字段。
db.coll.update(
{ item: "ZZZ135" },
{ item: "ZZZ135", stock: 5, tags: [ "database" ] },
{upsert: true}
)
WriteResult({
"nMatched" : 0,
"nUpserted" : 1,
"nModified" : 0,
"_id" : ObjectId("54455f33b247e073d7161b32")
})
答案 0 :(得分:3)
在mongo C驱动程序中,您可以使用bson_t *reply
接收this function中返回的_id
:
bool mongoc_collection_command_simple (
mongoc_collection_t *collection,
const bson_t *command,
const mongoc_read_prefs_t *read_prefs,
bson_t *reply,
bson_error_t *error
)
C ++中的等价物是this function中的BSONObj *info
:
bool mongo::DBClientWithCommands::simpleCommand (
const std::string & dbname,
BSONObj * info,
const std::string & command
)