我正在 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
. 它有一个名为Ref
which is a 的字段*DocumentRef
。ID
根据文档,它的字段是:
// The ID of the document: the last component of the resource path. ID string
因此,要访问代码中的 ID,您可能需要使用
doc.Ref.ID
- 1 回答
- 0 关注
- 96 浏览
添加回答
举报
0/150
提交
取消