0

特定のエントリがどの場所にあるかを判断したいのですが、適切な GQL クエリが私をエスケープしています。理想的には、次の詳細を知りたいと思います。これらは、データストアによって認識される必要があるようです。それをどうやって判断するのか、さっぱりわかりません。誰か助けてくれませんか?

  • 特定のエントリの配置 (特定の並べ替え、つまり特定のプロパティによる)
  • 存在するエントリの総数 (取得なし、カウントのみ)
  • リストの次のエントリ (配置を取得できる限り、2 を取得して後者を取るだけで、次のエントリを取得するための適切なクエリを作成できると思います)

誰か助けてくれませんか?

4

2 に答える 2

2

Python を使用している場合は、App Engine データストアにランク リストを実装するgoogle-app-engine-ranklistプロジェクトを確認してください。

于 2010-03-03T10:45:54.057 に答える
0

GQL は非常に限定的であり、実際には、SQL の考え方にとらわれている人々が App Engine データストアの使用に移行しやすくするためにのみ存在します。GQL 構文でやりたいことは何もできません。

Python を使用していると仮定すると、2 つ目は db.Query または db.GqlQuery オブジェクトの .count() メソッドを呼び出すことで実行できますが、カウントする最大数を count() のパラメーターとして指定する必要があることに注意してください。 、およびこの最大値は 1000 を超えることはできません。

すべてのエントリを取得して検索しないと、結果セット内の特定のエントリを見つけることはできません。すでにすべてのエンティティを取得しており、次のエンティティを取得するだけでよいため、最後の処理は簡単になります。

これはどれも効率的ではありません。データストアは、この種のことを行うようには設計されていません。

于 2010-03-03T02:00:39.327 に答える