Goにて、Firestoreのデータをクエリで引っ張ってくるときに、document idを取ってくる方法がなかなか見つからなかったので、自分の備忘録です。
#結論
iter.Next()した結果は「DocumentSnapshot」になる。
doc.Ref.ID でdocument idを取ってこれる。
iter := client.Collection("activities").Where("Date", "==", v).Documents(ctx)
var result []interface{}
for {
doc, err := iter.Next()
if err == iterator.Done {
break
}
if err != nil {
fmt.Fprint(w, err)
return
}
fmt.Println(doc.Ref.ID)
m := doc.Data()
m["id"] = doc.Ref.ID
result = append(result, m)
}
#参考
https://pkg.go.dev/cloud.google.com/go/firestore#DocumentSnapshot
https://pkg.go.dev/cloud.google.com/go/firestore#DocumentRef