【发布时间】:2020-10-12 21:53:33
【问题描述】:
我在 golang 中使用官方的 mongo 驱动程序,并试图确定是否存在记录。不幸的是,文档没有解释如何做到这一点。我正在尝试使用 FindOne 执行此操作,但是当找不到结果时它会返回并出错,而且我不知道如何将该错误与任何其他错误区分开来(缺少比较感觉错误的字符串。什么是正确的方法使用官方 golang 驱动检查 mongo 中是否存在文档?
这是我的代码。
ctx := context.Background()
var result Page
err := c.FindOne(ctx, bson.D{{"url", url}}).Decode(&result)
fmt.Println("err: ", err)
// how do I distinguish which error type here?
if err != nil {
log.Fatal(err)
}
【问题讨论】:
-
您可以尝试查找所有限制为 1 的内容,这不会在不匹配时产生错误。
-
感谢@D.SM,这正是我想要的。