2

在 addFilter() 之后,我在过滤实体时遇到问题

已从 Google App Engine 弃用。

目标:列出具有 UID = "rahul" 的实体

我尝试了什么:

com.google.appengine.api.datastore.DatastoreService ds=DatastoreServiceFactory.getDatastoreService();

    Query q = new Query("Upload");
    q.setFilter(FilterOperator.EQUAL.of("UID","rahul"));
    PreparedQuery pq = ds.prepare(q);

    for (Entity result : pq.asIterable())   

       {
            String title = (String) result.getProperty("url");
            resp.getWriter().println(title);
        }

这是我的“上传”实体的 DataStore 实例:

在数据存储中上传实体实例

但是,启动应用程序时我得到一个空白页。

4

2 回答 2

2

addFilter()已弃用,您还可以使用以下代码:

要创建单个过滤器:

query.setFilter(new Query.FilterPredicate("UID", FilterOperator.EQUAL, "rahul"));

创建多个过滤器:

构建所有过滤器后,使用 CompositeFilter 将它们组合在一起:

new CompositeFilter(CompositeFilterOperator.AND, Arrays.asList(filter1, filter2)); 

然后通过编写将其设置为查询的过滤器:

query.setFilter(composite_filter);
于 2015-12-05T18:04:43.947 回答
0

它应该提供所需的输出。如果它给出空白页,请检查 Google Dashboard 中的日志或共享日志。

于 2014-02-23T18:29:28.163 回答