为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕标琳琳 2023-07-13 17:58:35
该查询是用 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如何在低级数据存储中编写上述查询的代码?
查看完整描述

1 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

尽管这不是推荐的解决方案,因为在迁移到较新的 App Engine 运行时之前需要升级到推荐的 API,但您可以使用 Java App Engine API 客户端执行此类“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);

然而,新的Java 数据存储客户端库不支持这一点,我相信这是因为,在幕后,数据存储将此查询转换为列表中每个元素的单独查询。


查看完整回答
反对 回复 2023-07-13
  • 1 回答
  • 0 关注
  • 110 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信