首页 文章

查询Google App Engine中的唯一ID

提问于
浏览
0

我试图查询数据存储区的唯一标识符 . 例如,我试图查询下面附加的图像的 ID/Name 字段 .

Image of Local Database

截至目前,我的代码如下 . listID 是我作为 long 的ID,我将其传入 KeyFactory . 在这种情况下,它是 4573968371548160 或图片中的第一个 .

Key listKey = KeyFactory.createKey("Lists", listID);
Query.FilterPredicate listFilter = new Query.FilterPredicate(Entity.KEY_RESERVED_PROPERTY, Query.FilterOperator.EQUAL, listKey);
Query listQuery = new Query("Lists").setFilter(listFilter);
List<Entity> listResults = datastore.prepare(listQuery).asList(FetchOptions.Builder.withDefaults());

不幸的是, listResults 的大小正在返回0,我可以't seem to figure out why. What'真的很有趣,当我将查询更改为

Query.FilterPredicate listFilter = new Query.FilterPredicate(Entity.KEY_RESERVED_PROPERTY, Query.FilterOperator.GREATER_THAN, listKey);

listResults 返回数据存储区中的两个项目 .

任何人都可以解释为什么会这样,以及我如何解决这个问题?

谢谢!!!

编辑:

long listID = Long.parseLong(total_json.getString("listID"));

是我如何初始化listID

1 回答

  • 0

    事实证明我通过写作在数据库中创建了实体

    list = new Entity("Lists", listKeyName);

    而且我猜这使得它只能在那个密钥上搜索 . 我删除了 listKeyName ,现在一切正常 .

相关问题