Как получить _id
после размещения документа в mongo-c-driver или mongo-cxx-driver?
Следующий фрагмент кода из 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")
})
В Mongo C Driver вы можете использовать bson_t *reply
получить возвращенный _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 ++ BSONObj *info
в эта функция:
bool mongo::DBClientWithCommands::simpleCommand (
const std::string & dbname,
BSONObj * info,
const std::string & command
)