我试图找到一个有效的例子来说明如何使用 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?
我对这件事有点困惑,因为我无法完全理解每个实体的“密钥”是如何存储的。
任何帮助将不胜感激。