检查来自Firestore Get-golang sdk的错误返回代码



我正试图使用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

最新更新