gpt4 book ai didi

mongodb - GoLang mgo - mgo.ErrNotFound for find(...).All(...)

转载 作者:IT老高 更新时间:2023-10-28 13:35:05 25 4
gpt4 key购买 nike

我有一个 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com