如何解决如何使用Java API查询所有那些数组类型字段包含给定数组至少一个元素的实体?
我有一个GCP数据存储区实体,该实体的数组类型字段包含一个元素列表,例如[1,2,3]
示例:
@Entity
public class TestEntity{
@Id
String id;
List<String> data;
}
我需要使用GCP Java API构建查询,以选择在字段中具有给定数组至少一个元素的所有实体。
示例: 两个实体: 1:[1,3] 2:[1,4,5] 我希望选择输入: [1,2]-1,2; [2]-1
EntityQuery.Builder queryBuilder =
Query.newEntityQueryBuilder().setKind("testEntity");
queryBuilder.setFilter(....)
我在API中看不到类似“包含”或“在其中”的过滤器。如何建立这样的查询?
解决方法
数据存储模式对每个唯一的数组属性值索引一次。因此,要查询数组是否包含值,请使用相等过滤器。 [1]
.setFilter(PropertyFilter.eq(property,value))
[1] https://cloud.google.com/datastore/docs/concepts/queries#array_values
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。