我有一個數據存儲區,其中一個屬性包含一個字符串數組。每個實體可以具有該陣列的不同大小。我想對每個實體中的數組內容進行查詢和過濾。如何基於使用Java庫的陣列屬性過濾Google Content Store數據
我目前生成一組過濾器,一個用於數組中的每個必需字符串。然後構建一個複合過濾器,用於EntityQuery。該過濾器是這樣產生的:
// 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());
然而,這將兩個實體與arrayProperty = [A,B,C]和匹配arrayProperty = [A,B,C,d]。
我可以使用com.google.cloud.datastore中JAVA庫中的Google Cloud Datastore Query過濾掉其屬性值是特定數組且具有完全相同元素(不多,不少於獨立順序)的實體嗎?也許通過某種尺寸過濾器或完全不同的查詢/過濾器。或者我可以使用GQL?
謝謝!不是我希望的答案,但不能爲此責怪你! :-P –