0

我根据在 mySQL 中创建表的方式创建了一系列结构:

type User struct {
    UserID      int
    Email       string
    Password    string
    DateCreated time.Time
}

type Device struct {
    DeviceID      int
    Udid          string
    DateCreated   time.Time
    DateUpdated   time.Time
    IntLoginTotal int
}

type DeviceInfo struct {
    DeviceID       int
    DeviceName     string
    Model          string
    LocalizedModel string
    SystemName     string
    SystemVersion  string
    Locale         string
    Language       string
    DateCreated    time.Time
}

但是,我的印象是我将无法发出这样的请求,而是需要创建一个可以包含多个设备数组的单个结构(每个都包含多个设备信息记录的数组)。

这样做的最佳方法是什么?

4

1 回答 1

1

在这种情况下,只需将“种类”设置为结构的名称。

从文档:

func NewKey(c appengine.Context, kind, stringID string, intID int64, parent *Key) *Key

NewKey 创建一个新密钥。种类不能为空。stringID 和 intID 之一或两者必须为零。如果两者都为零,则返回的密钥不完整。parent 必须是完整的密钥或 nil。

例如保存用户。

c := appengine.NewContext(r)
u := &User{UserID: userid, Email: email, Password: password, DateCreated: datecreated}
k := datastore.NewKey(c, "User", u.UserID, 0, nil)
e := p
_, err := datastore.Put(c, k, e)

按照相同的逻辑保存不同的结构类型。

加载用户:

c := appengine.NewContext(r)

k := datastore.NewKey(c, "User", userid, 0, nil)
e := new(User)

_, err := datastore.Get(c, k, e)
于 2013-10-16T10:26:12.470 回答