在 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 实例:
但是,我在启动应用程序时遇到空白页面。
最佳答案
由于addFilter()
已被弃用,您还可以使用以下代码:
创建单个过滤器:
query.setFilter(new Query.FilterPredicate("UID", FilterOperator.EQUAL, "rahul"));
创建多个过滤器:
构建所有过滤器后,使用 CompositeFilter 将它们组合在一起:
new CompositeFilter(CompositeFilterOperator.AND, Arrays.asList(filter1, filter2));
然后通过编写以下内容将其设置为查询的过滤器:
query.setFilter(composite_filter);
关于java - 在 Google 应用引擎中添加过滤查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15942840/