使用 Go 更新实体 Appengine 数据存储

我正在尝试找到一个有效的示例,说明如何使用 Go 对 appengine 数据存储执行更新。我在网上找到的所有例子都非常模糊,主要是解释概念而不是“现实生活”。go 的 appengine 文档说:


...“更新现有实体是使用相同的密钥执行另一个 Put() 的问题。”


我的问题是如何检索密钥。所以我有下面的代码来存储和检索数据:


func subscribe(w http.ResponseWriter, r *http.Request) {


    user := User {

        Name: r.FormValue("username"),

        Email: r.FormValue("useremail"),

        Flag: 0,

    }


    c := appengine.NewContext(r)

    //datastore.Put(c, datastore.NewIncompleteKey(c, "User", nil), &user)

    datastore.Put(c, datastore.NewKey(c, "User", "stringID", 0, nil), &user)


    template.Must(template.ParseFiles("confirmation.html")).Execute(w, nil)


}


func checkusers(w http.ResponseWriter, r *http.Request) {


    c := appengine.NewContext(r)


    qUsers := datastore.NewQuery("User")


    var users []User


    qUsers.GetAll(c, &users)


    template.Must(template.ParseFiles("users.html")).Execute(w, users)

}

如何对标志属性进行更新,将其值更改为 1?


我对这件事有点困惑,因为我无法完全理解每个实体的“密钥”是如何存储的。


任何帮助将不胜感激。


慕娘9325324
浏览 164回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go