如何使用java从google app engine数据存储中加载值以执行或操作
我必须使用2个条件或条件来加载实体值 例如,如何使用java从google app engine数据存储中加载值以执行或操作,java,google-app-engine,google-cloud-datastore,Java,Google App Engine,Google Cloud Datastore,我必须使用2个条件或条件来加载实体值 例如,从数据库中选择*,其中(电子邮件=xyz@gmail.com或UUID=1234) 已尝试使用筛选器: Filter emailFilter = new FilterPredicate("email", FilterOperator.EQUAL, email); Filter firstFilter = new FilterPredicate("firstname", FilterOperato
从数据库中选择*,其中(电子邮件=xyz@gmail.com或UUID=1234)
已尝试使用筛选器:
Filter emailFilter =
new FilterPredicate("email", FilterOperator.EQUAL, email);
Filter firstFilter =
new FilterPredicate("firstname", FilterOperator.EQUAL, firstName);
Filter filter =
CompositeFilterOperator.or(emailFilter, firstFilter);
但是我不明白在加载时如何使用这个过滤器
如何使用数据存储中的筛选器执行此操作?如果我理解正确,您只需将筛选器应用于查询并检索结果:
// Your filter declarations
Filter emailFilter =
new FilterPredicate("email", FilterOperator.EQUAL, email);
Filter firstFilter =
new FilterPredicate("firstname", FilterOperator.EQUAL, firstName);
Filter filter =
CompositeFilterOperator.or(emailFilter, firstFilter);
// Use class Query to assemble a query
Query q = new Query("Person").setFilter(filter)
// Use PreparedQuery interface to retrieve results
PreparedQuery pq = datastore.prepare(q);
for (Entity result : pq.asIterable()) {
// result.getProperty("lastname")
}