在列表属性中搜索

时间:2014-03-21 15:09:52

标签: google-app-engine google-cloud-datastore

我有一个名为'Profile'的实体,它有一个名为'keySkills'的属性为List的属性。

如果'keySkills'具有[Java,C,C ++,WEB TECHNOLOGIES]等值,我该如何搜索实体 当搜索条件只是WEB?以下查询过滤器不起作用,因为输入'WEB'与列表中的'WEB TECHNOLOGIES'值不匹配。

       ArrayList criteria=new ArrayList();
       criteria.add("WEB");
       q.addFilter("keySkills",FilterOperator.IN, criteria);

由于  马

2 个答案:

答案 0 :(得分:-1)

首先,您不能使用ArrayList作为搜索参数。它应该是:

 q.addFilter("keySkills",FilterOperator.IN, "WEB");

其次,您无法使用IN运算符执行您所描述的操作。它必须完全匹配一个值,否则它将不返回任何结果。

您可以使用Search API进行此类搜索。

答案 1 :(得分:-1)

您可以使用普通等于运算符来检查多值字段中单个值的匹配。

相关问题