我創建了一個mongo.h包含它的標題
mongocxx::instance inst{};
mongocxx::uri uri{ "link*****" };
mongocxx::client client{ uri };
我main.cpp通過包含此
訪問了 mongodb,mongo.h
但是當將此標頭包含到其他 cpp 檔案時,它回傳錯誤。
檔案說實體必須創建一次。我已閱讀http://mongocxx.org/api/current/classmongocxx_1_1instance.html 不完全理解,我不熟悉建構式和解構式,任何機構請幫助從每個 cpp 檔案訪問 mongodb。
uj5u.com熱心網友回復:
這是單身人士可以提供幫助的一個很好的例子。在 中mongo.h,放置一個函式宣告:
mongocxx::client& get_client();
在單個cpp 檔案中,按如下方式定義函式:
mongocxx::instance inst{};
mongocxx::client& get_client() {
static mongocxx::client client{mongocxx::uri{ "link*****" };};
return client;
}
通過將它放在單獨的 .cpp 檔案中,您可以確保inst在main函式啟動前的某個時間創建它。將static在關鍵字get_client的客戶端只會被創建一次,即確保在第一時間get_client被呼叫。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/367648.html
標籤:C MongoDB 实例 mongo-cxx 驱动程序 mongodb-c
