1つのプロパティに文字列の配列が含まれているデータストアがあります。各エンティティは、その配列とは異なるサイズを持つことができます。私はクエリを作成し、各エンティティの配列の内容をフィルタリングする必要があります。Javaライブラリを使用して配列であるプロパティに基づいてGoogle Content Storeデータをフィルタリングする方法
現在、フィルタのセットを生成しています。これは、配列内の必要な文字列ごとに1つずつです。次に、EntityQueryで使用する複合フィルタを構築します。これはしかし、arrayProperty = [A、B、C]とarrayProperty = [A、B、C、D]の両方のエンティティに一致する
// arrayProperty is the name on the property in my Datastore that contains the array of strings.
List<PropertyFilter> pathFilters = Arrays.stream(new String[] {"a","b","c"})
.map(s -> PropertyFilter.eq("arrayProperty", s))
.collect(Collectors.toList());
:フィルタは、このように生成されます。
com.google.cloud.datastoreのJAVAライブラリのGoogle Cloud Datastoreクエリを使用して、プロパティ値が全く同じ要素を持つ特定の配列を除外することができますか?たぶん、何らかのサイズのフィルターや完全に異なるクエリ/フィルターによって。あるいは、私はGQLを使うことができますか?
ありがとうございます!私が望んでいた答えではありませんが、あなたの責任を責めることはできません! :-P –