dtqqq24248 2015-03-16 02:26
浏览 43
已采纳

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

I have a model:

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:"-"`
}

And I perform a .GetAll to populate it:

// Skip a few steps here

var userProfiles []UserProfile
q.GetAll(c, &userProfiles)

Say I want to modify one of those entities:

userProfile[0].Email = "test@example.com"

I know I want to Put that entity like so:

k = datastore.Put(c, k, userProfile[0])

How do I get that initial key from userProfile[0] to call Put with?

  • 写回答

1条回答 默认 最新

  • douquan1015 2015-03-16 02:51
    关注

    GetAll returns the keys:

    var userProfiles []UserProfile
    keys, err := q.GetAll(c, &userProfiles)
    if err != nil {
        // handle error
    }
    

    Update entities using the keys returned from GetAll:

    userProfile[0].Email = "test@example.com"
    _, err = datastore.Put(c, keys[0], userProfile[0])
    if err != nil {
        // handle error
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥60 pb数据库修改或者求完整pb库存系统,需为pb自带数据库
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路