1

これが可能かどうかはわかりません。

種類「A」のすべてのエンティティ、種類「B」のエンティティのリストの子を取得する必要があります。

したがって、エンティティ「B」ごとに複数の子「A」があります。

これは簡単です。必要な種類「B」のエンティティのリストである B リストを取得し、それぞれに対して子のリストを取得します。

これで、クエリの後でそれらを並べ替えて、1 つのリストにマージすることができました。私の最大の問題は、複数のクエリがあるため、カーソルの使用方法がわからないことです。

次に、次のようなものが必要だと思います

A.query(ancestor in B-list).fetch(...)

しかし、どうすればそれができるのか、何を使うべきなのか理解できません。

4

1 に答える 1

5

祖先ごとに指定できるクエリは1つだけです。したがって、複数のクエリを実行する必要があります。しかし、あなたが少し賢いなら、あなたはそれらを並行して行うことができます。これがコードの大まかなスケッチです(テストされていません):

futures = []
for b in B_list:
  futures.append(A.query(ancestor=b).fetch_async(...))
results = []
for f in futures:
  results.extend(f.get_result())
于 2012-09-15T22:54:49.333 に答える