使用 objectify 创建 "Or" 子句
Make "Or" clause using objectify
我正在尝试使用 "OR" 子句在 Objectify 中创建查询,但我在任何地方都找不到如何执行此操作。
即使阅读 Objectify v5 的 user's guide,我也没有发现任何东西。
我只找到了这个 here,但它不适用于我。
在 sql 中,子句是这样的:
SELECT * FROM bulletin WHERE visibility = 'public' OR ownerId = :userId
Google Datastore 根本不支持OR
过滤器的问题(只能乘以相同字段的值,IN
)。
但是您可以进行两个单独的查询并将结果合并为一个。
可以直接使用低级APIQuery.CompositeFilter
对象,它支持一定级别的AND和OR组合:
com.google.appengine.api.datastore.Query.Filter filter = // see docs
ofy().load().type(Thing.class).filter(filter);
以下是如何制作复合过滤器的一些示例:
我正在尝试使用 "OR" 子句在 Objectify 中创建查询,但我在任何地方都找不到如何执行此操作。 即使阅读 Objectify v5 的 user's guide,我也没有发现任何东西。 我只找到了这个 here,但它不适用于我。
在 sql 中,子句是这样的:
SELECT * FROM bulletin WHERE visibility = 'public' OR ownerId = :userId
Google Datastore 根本不支持OR
过滤器的问题(只能乘以相同字段的值,IN
)。
但是您可以进行两个单独的查询并将结果合并为一个。
可以直接使用低级APIQuery.CompositeFilter
对象,它支持一定级别的AND和OR组合:
com.google.appengine.api.datastore.Query.Filter filter = // see docs
ofy().load().type(Thing.class).filter(filter);
以下是如何制作复合过滤器的一些示例: