Go App Engine嵌套对象未存储在Cloud Datastore中

时间:2015-11-08 11:48:27

标签: google-app-engine go google-cloud-datastore

我有一个实体EmergencyCase,它有2个嵌入式结构(1个数组和1个结构) 当我尝试通过调用

来保存EmergencyCase时
datastore.Put(c, key, &ec)

除了Pos字段(类型位置)之外,所有内容都保存得很好。没有关于此的错误或日志条目。它只是没有存储。有什么建议吗?

以下是我的3个实体定义:

type Position struct{
    lon float32
    lat float32
}
type EmergencyCase struct{
    // Autogenerated id, not stored in the database.
    ID string `datastore:"-"`
    CreatedAt time.Time
    Closed bool
    ClosedByUser bool `datastore:",noindex"`
    AutoClosed bool `datastore:",noindex"`
    Pos Position
    Events []Event
}

type Event struct{
    // Autogenerated id, not stored in the datastore.
    ID string `datastore:"-"`
    CreatedAt time.Time
    Name string `datastore:",noindex"`
}

2 个答案:

答案 0 :(得分:5)

Export位置字段通过大写名称中的第一个字母来命名。数据存储区stores exported fields only

type Position struct{
  Lon float32
  Lat float32
}

答案 1 :(得分:1)

尝试使用appengine.GeoPoint作为替代/优化类