java - 使用键对象化投影查询

标签 java google-app-engine google-cloud-datastore objectify

如何使用键运行投影查询?我希望能够使用键列表进行选择,然后投影到属性上。

ofy().load().type(Entity.class).filterKey(" in ", keys).project("property1")

我收到一条错误消息:“__key__ in ' 不是合法的过滤条件

Also I tried to query by ids which also did not work.

// convert keys to ids
// ...
// ...

ofy().load.type(Entity.class).filter(" id in ", ids).project("property1");

我收到一条错误消息,指出我无法在过滤器中使用 id。

我记得能够使用低级数据存储 API 来完成此操作。如果有使用 objectify 的方法,请告诉我。

问候,

沙迪亚

最佳答案

去掉 filterKey("in ", ...) 中的多余空格。它应该是 filterKey("in", ...)

我从来没有想过有人会尝试这么古怪的事情。显然,Java String.split() 对于每个字符实例的分割是迂腐的。感谢您发现此错误;该修复将在下一版本的 Objectify (5.0.4) 中进行。

同时,停止用空格做愚蠢的事情。

关于java - 使用键对象化投影查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25559908/

相关文章:

google-app-engine - Google Datastore 中的索引号是否有最大大小

java - 在 Java Web 应用程序中生成 PDF

python - OS X AppEngine - 导入错误 : No module named _sqlite3

java - 从字符串生成 key (com.google.appengine.api.datastore.Key)

python - 导入错误 : No module named auth. 凭据

google-app-engine - 如何从 GeoPt 属性中提取纬度和经度?

具有链式方法的 Java 方法调用顺序

java - 如何获取 Spring Restful Web 服务中请求正文中发送的字符串?

java - JavaScript 事件处理程序使用什么宿主对象

java - 如何将我的 Google App Engine 数据存储中的数据写入 com.google.appengine.api.datastore.Text