我正在使用 Go 尝试从 Firestore 中提取一些文档,但遇到了很大的障碍:无论我多么努力,我都无法从查询本身中提取数据。当我打印doc.Data()或无论它是什么时,它都可以正常工作:
map[Ext: ID:107677035991703552 Kind:link Start:0.0 Stop:8.0 URL:ONHPHmNV0m4]
我愿意:
iter := client.Collection("intro-requests").Documents(ctx)
for {
doc, err := iter.Next()
if err == iterator.Done {
break
}
var temp Request
doc.DataTo(&temp)
fmt.Println(temp)
requests = append(requests, temp)
for _, request := range requests {
fmt.Println(doc.Data())
createVote(s, request)
}
fmt.Println(doc.Data())
}
根据谷歌示例,但打印temp哪个,我得到这个:
{ link 0 0 }
但有时也这样:
{ 0 0 }
有时是这样的:
{ link 0 0 ONHPHmNV0m4 }
是什么赋予了?我什至无法理解这里发生了什么。我也找不到任何其他有效的例子,因为谷歌的所有例子都只是打印地图,它在 100% 的时间内都有效。几乎感觉地图正在变成一个字节数组或其他东西,而程序只是试图从中挽救一些数字。
这是我的课:
type Request struct {
ID string `json:"ID"`
Kind string `json:"Kind"`
Start float64 `json:"Start"`
Stop float64 `json:"Stop"`
URL string `json:"URL"`
Ext string `json:"Ext"`
}
我试过使用第三方反序列化包,但没有任何改变......有什么线索吗?
波斯汪
相关分类