我需要获取其datePublished IS NOT ""
. 但是,下面的代码不起作用。有任何想法吗?谢谢
Query<Diagram> q=ofy.query(Diagram.class).filter("datePublished !=", "").order("-likes").limit(18);
我需要获取其datePublished IS NOT ""
. 但是,下面的代码不起作用。有任何想法吗?谢谢
Query<Diagram> q=ofy.query(Diagram.class).filter("datePublished !=", "").order("-likes").limit(18);
在 GAE 数据存储中应用不等式过滤器时,存在一些限制。您可以在此处阅读更多信息:https ://developers.google.com/appengine/docs/java/datastore/queries
在这种情况下,要在 datePublished 上出现不等式,您必须首先在同一字段上排序,然后才能在另一个字段上排序。
所以假设 datePublished 字段被索引:
Query<Diagram> q=ofy.query(Diagram.class).filter("datePublished !=", "").order("datePublished").order("-likes").limit(18);
假设这不是迁移问题,您可能需要考虑在存储数据时对其进行非规范化,例如设置“noDatePublished”布尔值。