[英]Update entity from appengine .GetAll and save to datastore
我有一个模型:
type UserProfile struct {
UserID string `datastore:"user_id" json:"user_id,omitempty"`
Username string `datastore:"username" json:"username,omitempty"`
StripUsername string `datastore:"strip_username" json:"strip_username,omitempty"`
Email string `datastore:"email" json:"email,omitempty"`
LoginType string `datastore:"login_type" json:"login_type,omitempty"`
CurrentSession string `datastore:"current_session" json:"current_session,omitempty"`
FBAcessToken string `datastore:"fb_access_token" json:"fb_access_token,omitempty"`
Created time.Time `datastore:"created" json:"-"`
}
我执行一个.GetAll来填充它:
// Skip a few steps here
var userProfiles []UserProfile
q.GetAll(c, &userProfiles)
假设我要修改其中一个实体:
userProfile[0].Email = "test@example.com"
我知道我想像这样放置该实体:
k = datastore.Put(c, k, userProfile[0])
如何从userProfile [0]获取该初始密钥以调用Put with?
GetAll返回键:
var userProfiles []UserProfile
keys, err := q.GetAll(c, &userProfiles)
if err != nil {
// handle error
}
使用从GetAll返回的键更新实体:
userProfile[0].Email = "test@example.com"
_, err = datastore.Put(c, keys[0], userProfile[0])
if err != nil {
// handle error
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.