2016-10-17 62 views
0

我有一個相對簡單的使用mongocxx驅動程序製作oid的示例。這是因爲如下:未知的錯誤代碼bsoncxx :: oid

try { 
// assetId is const UInt8 * 
bsoncxx::oid id = bsoncxx::oid{std::string((const char *)assetId)}; 

} catch (const std::exception& xcp) { 
    std::cout << "-------------" << std::endl; 
    std::cout << "connection failed: " << xcp.what() << "\n"; 
    std::cout << "-------------" << std::endl; 
    return kDRMSKDServerDBAssetIDErr; 
} 

不過,我不斷收到:未知bsoncxx錯誤代碼

我不知道我做錯了。

+0

在發佈有關錯誤的問題時,請在您的問題中包含* complete *錯誤。如果出現構建錯誤,則將其按原樣並且不進行編輯地複製粘貼到問題主體中。 –

+0

這就是問題,這是完整的錯誤 –

+1

沒有[SSCCE](http://sscce.org)很難確定確切的問題。但是,很可能assetID不是有效的十六進制對象ID。請參閱[文檔](https://mongodb.github.io/mongo-cxx-driver/api/current/classbsoncxx_1_1oid.html#a48be4a43ece04c4434342c2ebb937113)。作爲參考,你使用的是什麼版本的mongocxx和libmongoc? – xdg

回答

0

一個糟糕的OID會導致這個錯誤信息,所以要小心他們糟糕的錯誤信息。

+0

它已經[在補丁中修補](https://github.com/mongodb/mongo-cxx-driver/commit/340df1420869e647929fa00e295af0e395723d74),並將在未來的版本中發佈。如果(何時)發現其他製作不當的錯誤消息,請告訴我們,我們會解決它們。 – xdg