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

如何获取 Firestore 文档的 ID?

如何获取 Firestore 文档的 ID?

Go
幕布斯7119047 2023-07-26 17:25:33
我正在 Firestore 中迭代用户文档,但无法看到当前正在阅读的文档的 ID。  package main  import (    "context"    firebase "firebase.google.com/go"    "fmt"    "google.golang.org/api/iterator"    "google.golang.org/api/option"    "log"  )   ctx := context.Background()   sa := option.WithCredentialsFile("cert.json")   app, err := firebase.NewApp(ctx, nil, sa)   client, err := app.Firestore(ctx)   iter := client.Collection("users").Documents(ctx)   for {     doc, err := iter.Next()     if err == iterator.Done {       break     }     if err != nil {       fmt.Println("Error:", err)     }    userDoc := doc.Data()    var customer_id string    fmt.Println("user object ID: ", userDoc["mobile_number"])    // ^ Works    fmt.Println("user object ID: ", doc.documentID)    // ^ This gives me this error "❯ doc.documentID undefined     // (type *"cloud.google.com/go/firestore".DocumentSnapshot    // has no field or method documentID)"据我从文档中读到, DocumentSnapshot 应该有一个documentID返回快照文档 ID 的属性。我究竟做错了什么?
查看完整描述

1 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

Go 文档位于godoc.org上。

在你的行中doc, err := iter.Next()你会得到一个*DocumentSnapshot. 它有一个名为Refwhich is a 的字段*DocumentRefID根据文档,它的字段是:

// The ID of the document: the last component of the resource path.
ID  string

因此,要访问代码中的 ID,您可能需要使用

doc.Ref.ID


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

添加回答

举报

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