为了账号安全,请及时绑定邮箱和手机立即绑定

从 appengine .GetAll 更新实体并保存到数据存储区

从 appengine .GetAll 更新实体并保存到数据存储区

Go
狐的传说 2021-09-21 17:24:34
我有一个模型: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 herevar userProfiles []UserProfileq.GetAll(c, &userProfiles)假设我想修改这些实体之一:userProfile[0].Email = "test@example.com"我知道我想像这样放置该实体:k = datastore.Put(c, k, userProfile[0])如何从 userProfile[0] 获取初始密钥以调用 Put ?
查看完整描述

1 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

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

}


查看完整回答
反对 回复 2021-09-21
  • 1 回答
  • 0 关注
  • 215 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信