- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在尝试使用 mgo 将 objectid 字符串转换为 bson ObjectId 格式,
errCheck := d.C("col").FindId(bson.ObjectIdHex(obid[0])).One(&Result)
我知道为什么,但是如果我给出错误/无效的输入字符串,我的应用程序就会出现运行时错误
我该如何预防?谢谢
最佳答案
bson.ObjectIdHex()
记录如果你传递一个无效的对象 ID 它将 panic :
ObjectIdHex returns an ObjectId from the provided hex representation. Calling this function with an invalid hex representation will cause a runtime panic. See the IsObjectIdHex function.
如果你想避免这种情况,首先使用 bson.IsObjectIdHex()
检查你的输入字符串,并且仅在您的输入有效时才继续调用 bson.ObjectIdHex()
:
if bson.IsObjectIdHex(obid[0]) {
// It's valid, calling bson.ObjectIdHex() will not panic...
}
关于mongodb - 防止 bson.ObjectIdHex 中的运行时 panic ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53701764/
我正在尝试使用 mgo 将 objectid 字符串转换为 bson ObjectId 格式, errCheck := d.C("col").FindId(bson.ObjectIdHex(obid[
我还是个新手,虽然我在 SO 上看到多个与此类似的问题,但我无法重现某些 OP 请求的输出(this answer looking the closest)。 我正在做一些相当简单的事情,我在 mon
我正在尝试使用 ObjectId 进行查询,通常在 mongodb 中你会做这样的事情 db.collection.findOne({"_id":objectid("5d9d90e5ed645489a
我是一名优秀的程序员,十分优秀!