1

エンティティ内の文字列の配列をgaeデータストアに格納しようとしています。そんな感じ:

public class MyClass {
  private String id;
  private String name;
  (...)
  private List<String> tags;
  (...)
}

Entity entity = new Entity("MyClass", "myId");
entity.setProperty("name", "My Name");
List<String> tags = new ArrayList<String>();
tags.add("gae");
tags.add("datastore");
entity.setProperty("tags", tags);

このアプローチは正しいものであり、クエリでタグ プロパティを使用する方法 (たとえば、タグ リストに値 gae を持つすべての要素) はありますか?

Query query = new Query("MyClass");
query.addFilter(fieldName, FilterOperator.EQUAL, "gae");
Iterable<Entity> result = datastore.prepare(q).asIterable();
for (Entity entity : result) {
  (...)
}

ご協力いただきありがとうございます!ティエリー

4

1 に答える 1

2

はい、そうです。タグリストが大きくならない場合 (10k を超える場合は、フィールド サイズの制限を確認してください) 。

次のように MyClass にクエリを実行できます。

Query q = new Query("myClass")
                .addFilter("tags",
                           Query.FilterOperator.EQUAL,
                           "gae");
于 2013-06-28T20:14:33.017 に答える