为了账号安全,请及时绑定邮箱和手机立即绑定

如何返回文档索引名称值

如何返回文档索引名称值

Go
拉风的咖菲猫 2023-04-17 16:07:40
这是一个 GoLang,Firebase AdminSDK 问题。此示例用于循环访问 FireStore 数据库中的所有文档。我怎样才能得到文档名称?换句话说:如果集合名称是JohnyCollection,并且JohnyCollection有 20 个名为 ( Document1, Document2.... Document20) 的文档,我如何在 golang 代码中获取文档名称?//========================================package mainimport (    "context"    "fmt"    "log"    "firebase.google.com/go"    "google.golang.org/api/iterator"    "google.golang.org/api/option")func check(e error) {    if e != nil {        panic(e)    }}func main() {    ctx := context.Background()    sa := option.WithCredentialsFile("./scai-qit-fb-adminsdk.json")    app, err := firebase.NewApp(ctx, nil, sa)    if err != nil {        log.Fatalf("error initializing app: %v\n", err)    }    client, err := app.Firestore(ctx)    if err != nil {        log.Fatal(err)    }    defer client.Close()    iter := client.Collection("COMPLEX_NONACS").Documents(ctx)    for {        doc, err := iter.Next()        if err == iterator.Done {            break        }        if err != nil {            log.Fatalf("Failed to iterate: %v", err)        }        //This part works.  WIll return a Map of each Document        fmt.Println("--------------------------/n")        fmt.Println(doc.Data())        //  This is the question.  How do I get the INDEX name of the Document?        //  something like...        fmt.Println(doc.Index_value_or_something_that_returns_IndexName())        //  for example...        // {        // "ABC":{"line1":"yabba dabba","line2":"dingo dong"},        // "DEF":{"line1":"hooty tooty","line2":"blah blah"}        // }        // How to just get the "ABC"  and "DEF"    }}
查看完整描述

1 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

DocumentSnapshot您可以通过首先查找 来从 获取文档 ID DocumentRef

 fmt.Println(doc.Ref.ID)


查看完整回答
反对 回复 2023-04-17
  • 1 回答
  • 0 关注
  • 77 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信