该查询是用 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 数据存储客户端库不支持这一点,我相信这是因为,在幕后,数据存储将此查询转换为列表中每个元素的单独查询。
添加回答
举报
0/150
提交
取消