作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我有一个 GoLang 代码:
c.Find(selectQuery).All(&results)
if err == mgo.ErrNotFound {
// error handling
}
selectQuery
值在这里并不重要。
我从未收到错误 ErrNotFound
。即使查询与任何结果都不匹配,我也不会得到 ErrNotFound
。我得到具有空属性的变量 result
。我应该如何更改代码来处理 ErrNotFound
案例?
最佳答案
Query.All()
从不返回 mgo.ErrNotFound
,所以检查它是没有用的。如果没有结果,results
的长度将为 0,这样你就可以检测到 if 没有错误:
err := c.Find(selectQuery).All(&results)
if err != nil { {
// error handling
return
}
// If you must detect "not found" case:
if len(results) == 0 {
// No results
}
mgo.ErrNotFound
被其他方法使用/返回,通常是那些应该对单个文档进行操作的方法,例如 Query.One()
或 Query.Apply()
.
关于mongodb - GoLang mgo - mgo.ErrNotFound for find(...).All(...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44302790/
我有一个 GoLang 代码: c.Find(selectQuery).All(&results) if err == mgo.ErrNotFound { // error handling } se
我是一名优秀的程序员,十分优秀!