Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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 将字段添加到过滤器:布尔值还是Google应用程序引擎?_Java_Google App Engine - Fatal编程技术网

Java 将字段添加到过滤器:布尔值还是Google应用程序引擎?

Java 将字段添加到过滤器:布尔值还是Google应用程序引擎?,java,google-app-engine,Java,Google App Engine,我试图构建一个查询语句,如果用户名与数据库中的lastname或firstname匹配,则返回结果,即 (“lastname”,Query.FilterOperator.EQUAL,用户名)或(“firstname”,Query.FilterOperator.EQUAL,用户名) 但我不知道语法。有人能给我指一下正确的方向吗 (对不起,我知道我不应该在这里问基本的编程问题,我看到了Magento(addfieldtofilter)的相关帖子,但不是GAE的相关帖子。)作为最重要的回答,简洁而正确

我试图构建一个查询语句,如果用户名与数据库中的lastname或firstname匹配,则返回结果,即

(“lastname”,Query.FilterOperator.EQUAL,用户名)或(“firstname”,Query.FilterOperator.EQUAL,用户名)

但我不知道语法。有人能给我指一下正确的方向吗

(对不起,我知道我不应该在这里问基本的编程问题,我看到了Magento(addfieldtofilter)的相关帖子,但不是GAE的相关帖子。)

作为最重要的回答,简洁而正确地说,“数据存储上没有
操作。您必须进行两个单独的查询,并在您自己的代码中找到交集”。(好的,应该是联合,而不是交叉,当然是:-)

这个特别的问题提到了objectify,但是,它不是关于objectify的——只是数据存储如何工作的限制。(即使是
中的
!=
操作符,看起来也能起作用,它们都是一种错觉,在应用程序端通过两个或多个单独的查询实现,然后将它们合并到内存中。在App Enginepython中,
ndb
数据存储访问层确实提供了一个
ndb.or
操作符或者——但这也是在应用程序级模拟的(从数据存储的角度来看,它是多个查询——ndb的应用程序级代码然后执行内存联合)

我想有人可以类似地为Java构建一个数据存储访问框架(例如fork和enrich
objectify
),以模拟
或类似
ndb
那样的
,但据我所知,没有人认为值得这么做(我很难不同意——尽管
ndb
是由Python的发明者和领导者Guido van Rossum设计和实现的,当时他在谷歌专门从事应用程序引擎的工作,所以他的工程判断可能比我的更值得信赖:-)。

正如最重要的答案简洁而正确地说,“数据存储上没有
操作。您必须执行两个单独的查询,并在您自己的代码中找到交集”。(当然,应该是union,而不是intersection,当然:-)

这个特别的问题提到了objectify,但是,它不是关于objectify的——只是数据存储如何工作的限制。(即使是
中的
!=
操作符,看起来也能起作用,它们都是一种错觉,在应用程序端通过两个或多个单独的查询实现,然后将它们合并到内存中。在App Enginepython中,
ndb
数据存储访问层确实提供了一个
ndb.or
操作符或者——但这也是在应用程序级模拟的(从数据存储的角度来看,它是多个查询——ndb的应用程序级代码然后执行内存联合)


我想有人可以类似地为Java构建一个数据存储访问框架(例如fork和enrich
objectify
),以模拟
或类似
ndb
那样的
,但据我所知,没有人认为值得这么做(我很难否认,
ndb
是由Python的发明者和领导者Guido van Rossum设计和实现的,当时他在谷歌专门从事App Engine的工作,因此他的工程判断可能比我的更值得信任:-).

谢谢!!!!!精神上,我觉得无法向查询中添加筛选器很奇怪,但解决方案很清楚。谢谢!谢谢!!!!!精神上,我觉得无法向查询中添加筛选器很奇怪,但解决方案很清楚。谢谢!