首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何获取Firestore文档的ID?

如何获取Firestore文档的ID?
EN

Stack Overflow用户
提问于 2019-10-01 22:57:06
回答 1查看 1.4K关注 0票数 0

我在Firestore中迭代我的用户文档,但是我看不到我当前正在阅读的文档的ID。

代码语言:javascript
代码运行次数:0
运行
复制
  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)"

据我所知,read from the docs的DocumentSnapshot应该有一个返回快照文档ID的documentID属性。

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-01 23:46:12

Go文档在godoc.org上。

在您的行doc, err := iter.Next()中,您将获得一个*DocumentSnapshot。它有一个名为Ref的字段,这是一个*DocumentRef。根据文档,它的字段ID是:

代码语言:javascript
代码运行次数:0
运行
复制
// The ID of the document: the last component of the resource path.
ID  string

因此,要在代码中访问该ID,可能需要使用

代码语言:javascript
代码运行次数:0
运行
复制
doc.Ref.ID
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58187520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档