gpt4 book ai didi

java - 如何过滤数据存储属性是否存在于列表中

转载 作者:行者123 更新时间:2023-12-02 09:32:57 25 4
gpt4 key购买 nike

此查询是用 JDO 编写的,我在其中根据用户所在的国家/地区过滤用户。 联系人种类有一个属性国家。仅获取其国家/地区出现在以下列表中的用户。

List<String> countryList = Arrays.asList("USA","India","France");



SELECT FROM Contacts WHERE :countryList.contains(country) && loginType == 'Google' && dateAdded >= 0 && dateAdded <= 1567078411000 ORDER BY dateAdded DESC RANGE 0,30

如何在低级数据存储中编写上述查询的代码?

最佳答案

虽然这不是推荐的解决方案,因为在迁移到较新的 App Engine 运行时之前需要升级到推荐的 API,但您可以使用 Java App Engine API client 执行此类“WHERE IN”查询。 。就像下面的例子一样:

List<String> countryList = Arrays.asList("USA","India","France");

Filter propertyFilter =
new FilterPredicate("height", FilterOperator.IN, countryList);
Query q = new Query("Contacts").setFilter(propertyFilter);

新版 Datastore Client Library for Java 不支持此功能但是,我相信这是因为,在幕后,数据存储会将此查询转换为列表中每个元素的单独查询。就像这个 post 中解释的那样.

关于java - 如何过滤数据存储属性是否存在于列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57801034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com