我正试图使用golang-sdk 在firestore中创建一个文档
如何检查调用DocumentRef.Get((返回的错误代码?
现在我正在检查错误是否包含";NotFound";。。。绝对不理想,但似乎找不到其他
当前代码:
doc := firestoreClient.Collection("users").Doc(id)
userSnapshot, err := doc.Get(ctx)
var u *User
if err != nil {
isNotFound := strings.Contains(err.Error(), "NotFound")
if isNotFound {
// create the document
}
}
理想情况下,我想做一些类似if err.Code == NotFound // handle appropriately
的事情
或者更好的是,如果有正确的模式可以在Firestore(使用golang(中获取或创建项目
我刚刚在官方文档中找到了这个(https://pkg.go.dev/cloud.google.com/go/firestore#DocumentRef.Get)
import (
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
)
status.Code(err) == codes.NotFound
谢谢你的指点!使用Go从Firestore获取单个文档的idomatic方法是什么?
另一个线程:https://github.com/googleapis/google-cloud-go/issues/861