gpt4 book ai didi

google-app-engine - 从 appengine .GetAll 更新实体并保存到数据存储

转载 作者:IT王子 更新时间:2023-10-29 01:39:39 25 4
gpt4 key购买 nike

我有一个模型:

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] 获取初始 key 以调用 Put?

最佳答案

GetAll返回 key :

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
}

关于google-app-engine - 从 appengine .GetAll 更新实体并保存到数据存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29068749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com