我正在尝试向 Firestore 添加一个嵌套结构,由于某种原因,添加的内容都是非结构,看起来像:结构看起来像这样:type Status struct { Title string `json:"title,omitempty" firestore:"title,omitempty"` Message string `json:"message,omitempty" firestore:"title,omitempty"`}type Config struct { Name string `json:"name,omitempty" firestore:"name,omitempty"` Status Status `json:"status,omitempty" firestore:"status,omitempty"`}代码看起来像这样:import ( "context" firebase "firebase.google.com/go/v4" "google.golang.org/api/option")func main() { configuration := Config{ Name: "Test", Status: Status{ Title: "hello", Message: "hi", }, } ctx := context.Background() config := firebase.Config{ ProjectID: "", StorageBucket: "", } opt := option.WithCredentialsFile("firebase_config.json") app, err := firebase.NewApp(ctx, &config, opt) if err != nil { panic(err) } // Get an auth client from the firebase.App client, err := app.Firestore(ctx) if err != nil { panic(err) } _, _, err = client.Collection("forecast").Add(ctx, configuration) if err != nil { panic(err) }}上面的代码仅适用于不在嵌套结构中的元素。对此的任何帮助将不胜感激更新 1Status不是子集合而是对象,例如:{ "name": "Test", "status": { "title": "hello", "message": "hi" }}
2 回答
拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
Firestore 被优化为哈希条目和检索数据存储。因此,最好从结构中创建映射。结构对 Go 数据建模很有用,但是当需要提交到数据库时,请将其转换为地图。我通常只使用Fatih 的结构来映射转换器
它可以很容易地在 Go 端推理您的数据,并且仍然能够将其提交以进行存储。
- 2 回答
- 0 关注
- 121 浏览
添加回答
举报
0/150
提交
取消