gpt4 book ai didi

firebase - Golang Firebase管理员SDK

转载 作者:行者123 更新时间:2023-12-01 21:14:59 24 4
gpt4 key购买 nike

假设Firebase Datastore Db是...

Collection("Collection1").
Document("documentX").
Collection("CollectionA").
field("FieldB")

在Golang中,使用firebase admin SDK ...在GoLang中获取FieldB值(value)的代码是什么?
这就是我尝试过的...
// dsnapp, err :=     client.Collection("Collection1/documentX").Get(ctx)
// dsnapp, err := client.Collection("Collection1").Document("documentX").Collection["CollectionA"].Get(ctx)

dsnapp2, err := client.Collection("Collection1").Doc("documentX").Get(ctx)
m = dsnapp2.Data()
fmt.Printf("222 Document data: %#v\n", m["CollectionA"]["FieldB")

以及其他各种技巧...有什么建议吗?

最佳答案

首先,像@Doug Stevenson所说,集合仅包含文档。因此知道我们可以使用此结构作为我们请求的基础。

Collection (CollectionA) -> Document (documentX) -> Collection (CollectionB) -> Document (documentY) -> Field (FieldB)
您应该考虑在firebase admin sdk的go文档中阅读一些内容。
https://godoc.org/cloud.google.com/go/firestore
在那里,您可以看到我们可以根据需要链接我们的请求。因此,您的查询将如下所示:
dsnapp2, err := client.Collection("Collection1").Doc("documentX").Collection("Collection1").Document("documentY").Get(ctx)
m := dsnapp2.Data() // it is important to use the := operator if you havn't initialized the variable yet

fmt.Printf("222 Document data: %#v\n", m["FieldB")
但是,如果您需要多个字段,则应考虑将结果(如第一个文档(documentX))编码到结构中。从那里,您还可以获取所需的字段。

关于firebase - Golang Firebase管理员SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52729467/

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