【发布时间】:2014-08-06 04:00:54
【问题描述】:
当我这样设置数据存储过滤器时实际发生了什么?
Query("Product").setFilter(filter1).setFilter(filter2);
我发现结果既不是AND也不是OR。
我也尝试使用 CompositeFilterOperator.and,但我得到了 DatastoreNeedIndexException,它应该返回与 AND 复合过滤器匹配的内容。
【问题讨论】:
-
我的 filter1 在字符串上,而 filter2 在 int 上
-
DatastoreNeedIndexException表示您缺少执行查询的索引。将其添加到您的 datastore-indexes.xml 中,这应该可以解决错误。此外,如果我没记错的话,您的第二个setFilter将覆盖第一个,因此您将只搜索第二个过滤器。 -
我以为数据存储中的所有条目都会自动编制索引?所以我需要创建与我的查询匹配的索引?我想你是对的。第二个过滤器将覆盖第一个过滤器。
标签: java google-cloud-datastore