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

通过 id 获取实体

通过 id 获取实体

Go
人到中年有点甜 2021-08-23 17:35:46
我正在为我的路线使用大猩猩多路复用器,并传递一个 ID。使用该 ID 如何从数据存储中获取实体。param := mux.Vars(r)c := appengine.NewContext(r)item := []Item{}pr, err := datastore.NewQuery("Item").Filter("ID = ", param["id"]).GetAll(c, &item)在这里我被卡住了,我尝试使用过滤器但它不起作用。我接下来该怎么做?
查看完整描述

2 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

你不会说你是为实体使用整数还是字符串 id。我将假设整数,因为它需要更多的代码。首先,创建一个密钥:


 n, err := strconv.ParseInt(param["id"], 10, 64)

 if err != nil {

    // handle error

 }

 key := datastore.NewKey(c, "Item", "", n, nil)

现在你有了密钥,你可以获取实体:


 var item Item

 if err := datastore.Get(c, key, &item); err != nil {

     // handle error

 }

获取实体比查询实体更有效。如果您确实想按 id 查询,请参阅App Engine 文档中的关键过滤器。


查看完整回答
反对 回复 2021-08-23
  • 2 回答
  • 0 关注
  • 200 浏览
慕课专栏
更多

添加回答

举报

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