如何使用 java API 查询数组类型字段至少包含给定数组的一个元素的所有实体?

How to query all entities those array type field contains at least one element of the given array using java API?

我有一个 GCP 数据存储实体,它有一个包含元素列表的数组类型字段,例如 [1,2,3]

示例:

@Entity
public class TestEntity{

   @Id
   String id;

   List<String> data;
}

我需要使用 GCP java API 构建一个查询 select 在字段中至少具有给定数组的一个元素的所有实体。

示例: 两个实体: 1: [1,2,3] 2: [1,4,5] 我希望输入 select: [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