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

KeysOnly 函数不返回键

KeysOnly 函数不返回键

Go
白衣非少年 2021-06-28 13:59:09
我对 进行了一些试验GAE,但现在我遇到了问题。首先我存放一些东西进入datastore,用NewIncompleteKey。所以问题来了。我的网站向后端发送时间戳(我将它们作为“ID”处理)。然后我解析并想从datastore. 我以为我可以做到这一点。type Food struct{    Id int64    Course string    Name string     Date string    Price float64}...Some Code...func deleteEntries(mealsID []string, r *http.Request) int{    // Get context from     c := appengine.NewContext(r);    for _,id := range mealsID{        var key *datastore.Key = nil        q := datastore.NewQuery("Meal").Ancestor(mealStoreKey(c)).Filter("Course =", "dessert").KeysOnly()        _, err := q.GetAll(c, key)        if err != nil{            return 0        }        log.Printf("Here the keys: %T %v ", key, key)        log.Printf("%v ", id)        e := datastore.Delete(c, key)        if e != nil{            return 33               }           }    return len(mealsID)}但它不起作用,因为我在datastore.Delete()函数中遇到错误。任何人的想法?
查看完整描述

1 回答

?
青春有我

TA贡献1784条经验 获得超8个赞

密钥从 返回GetAll。所以你应该写:


keys, err := q.GetAll(c, nil)

err = datastore.DeleteMulti(c, keys)

GetAll忽略dst仅键请求的参数 -数据存储引用。因此,在上面的示例中,key仍将设置为nilwhich 解释错误。


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

添加回答

举报

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