1

_idmongo-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")
})
4

1 に答える 1

3

mongo C ドライバーでは、 を使用して、この関数で返された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 
)    
于 2014-10-20T22:57:55.423 に答える