通过 id 获取实体

我正在为我的路线使用大猩猩多路复用器,并传递一个 ID。


使用该 ID 如何从数据存储中获取实体。


param := mux.Vars(r)

c := appengine.NewContext(r)

item := []Item{}

pr, err := datastore.NewQuery("Item").Filter("ID = ", param["id"]).GetAll(c, &item)

在这里我被卡住了,我尝试使用过滤器但它不起作用。


我接下来该怎么做?


人到中年有点甜
浏览 201回答 2
2回答

米琪卡哇伊

你不会说你是为实体使用整数还是字符串 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 文档中的关键过滤器。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go