【发布时间】:2015-03-27 16:42:55
【问题描述】:
这个问题的延续:
Doing a "IN Array" query on google app engine datastore with golang
现在,我正在遵循上一个问题中关于使用键/ID 数组查询ids []int64 的建议。这些 ID 可能实际存在也可能不存在(它们已被删除,但对其他实例的引用尚未删除)。
我尝试获取这些实例的方法如下:
var keys []*datastore.Key
for _, id := range ids {
keys = append(keys, datastore.NewKey(c, "Category", "", id, nil))
}
categories := make([]Category, len(keys))
err := datastore.GetMulti(c, keys, categories)
if err != nil {
return nil, err
}
for i := 0; i < len(categories); i++ {
categories[i].Id = keys[i].IntID()
}
但是,它错误地抛出了我:
datastore: no such entity
另一方面,我可以单独抓取每个,但有没有更有效的方法来解决这个问题?
【问题讨论】:
标签: google-app-engine go google-cloud-datastore