无法将我的结构放到数据存储区(golang)

Nic*_*ick 9 google-app-engine go google-cloud-datastore

这是我的结构:

type AreaPrerequisite struct {
    SideQuestId   int // 
    SideQuestProg int // progress
}

type AreaInfo struct {
    Id                int              `datastore:""`
    Name              string           `datastore:",noindex"`
    ActionPoint       int              `datastore:",noindex"`
    Prerequisite      AreaPrerequisite `datastore:",noindex"`

    // ignored:
    DsMonsters        []byte           `datastore:"-"`
    DsStages          []byte           `datastore:"-"`
    Monsters          AreaMonsters     `datastore:"-"`
    Stages            []*StageEntry    `datastore:"-"`
}
Run Code Online (Sandbox Code Playgroud)

和我的put()调用:

key := datastore.NewKey(c, "Area", "", int64(pArea.Id), nil)
_, err := datastore.Put(c, key, *pArea)
if err != nil {
    return err
}
Run Code Online (Sandbox Code Playgroud)

尝试放入DS时,它给出了以下错误:

datastore: invalid entity type
Run Code Online (Sandbox Code Playgroud)

我查看了以下文档:https: //developers.google.com/appengine/docs/go/datastore/reference

数据存储区:" - "应标记数据存储区忽略的某些不受支持的字段.不知道为什么会失败.

Nic*_*ick 16

我发现我不小心将*添加到pArea作为arg to put()所以它传递一个值而不是指针,导致无效的实体类型错误.