2016-10-17 59 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