Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 过滤器操作员不在_Java_Google App Engine_Google Cloud Datastore - Fatal编程技术网

Java 过滤器操作员不在

Java 过滤器操作员不在,java,google-app-engine,google-cloud-datastore,Java,Google App Engine,Google Cloud Datastore,com.google.appengine.api.datastore.Query.FilterOperatorenum中没有not\u值。所有其他操作都是可能的(相等、不相等和所有不等式)。是否可以使用该行为创建FilterPredicate(例如,“id”,notIn(),new int[]{3,4,7},其中notIn()将使查询返回所有值,但在给定列表中找到id的值除外)?如果没有,我怎么能像那样查询数据存储?例如,类似于否定FilterPredicate。就我所知,这种类型的查询没有服务

com.google.appengine.api.datastore.Query.FilterOperator
enum中没有
not\u值。所有其他操作都是可能的(相等、不相等和所有不等式)。是否可以使用该行为创建
FilterPredicate
(例如,
“id”,notIn(),new int[]{3,4,7}
,其中
notIn()
将使查询返回所有值,但在给定列表中找到id的值除外)?如果没有,我怎么能像那样查询数据存储?例如,类似于否定
FilterPredicate

就我所知,这种类型的查询没有服务器端支持。在客户端模拟it的最佳方法是合并三个查询的结果:一个用于集合最小值以下的元素,一个用于集合最大值以上的元素,另一个用于在客户端代码中执行
而不是
的[min..max]


(添加)您可以并行执行所有三个查询以节省时间。如果任何查询返回足够多的实体以耗尽内存或超出时间限制,则会出现问题。

我目前正在获取所有数据后执行此操作。但是我需要获取所有可能的值(还有另一个过滤器,客户机,但即使是给定客户机的所有实体),这不是很有效。我也不能在所有的scnarios中使用min..max ideia,因为在某些元素中不是数字。我会用它来表示数字,不过,这是一个我从未想到过的好方法。