获取Firestore文档的值

时间:2019-05-17 22:25:48

标签: go google-cloud-firestore go-templates

我正在尝试使用Firestore作为后端来存储文档数据。 Firestore对

的响应
docs, _ := q.Documents(ctx).GetAll()

类型

var docs []*firestore.DocumentSnapshot

假设我的文档具有结构

map[array:[a b] text:bla]

如何访问*firestore.DocumentSnapshot中的值?

我看到结果

for _, doc := range docs {
    fmt.Println(doc.Data())
}

执行并打印

map[array:[a b] text:bla]
func g() {
    ctx := context.Background()
    client, _ := firestore.NewClient(ctx, "myapp")

    defer client.Close()

    q := client.Collection("my").
        Limit(10)

    docs, _ := q.Documents(ctx).GetAll()

    for _, doc := range docs {
        fmt.Println(doc.Data())
    }
}

我想在结构的一部分中使用应用程序中http模板中的值。

1 个答案:

答案 0 :(得分:0)

您可以使用doc.DataTo

将其直接转换为结构

示例:

var articles []ArticleModel // slice
var model ArticleModel
    if err := doc.DataTo(&model); err != nil {
            // TODO: Handle error.
    }
articles = append(articles, model)