0

Java に似た文字列を含むためのクエリを実行するにはDatastoreServiceどうすればよいですか:StringString

  • 含む
  • で始まる
  • で終わる
4

2 に答える 2

2

String プロパティに対してクエリを実行する場合、完全一致が最も簡単です。これは、その動作が「そのまま」機能するためです。

「startsWith」クエリは、範囲の終わりを計算する にproperty startsWith: abc変換することで、かなり簡単に実行できます。property >= 'abc' and property < 'abd'

「endsWith」は、文字列の逆コピーを保存し、上記のようにクエリを作成することで実行できますが、ターゲットは逆になります。property endsWith: 'abc'つまり、 「propertyReversed >= 'cba' および propertyReversed < 'cbb'」になります。

「含む」は大きな課題です。いくつかのアプローチがあり、状況に適したアプローチは状況によって異なります。文字列が比較的短い場合 (住所の名前など)、末尾の部分文字列のリストを保存し、上記の範囲クエリでそれらと照合することができます。

于 2012-11-13T03:50:03.633 に答える
0

Dave が回答で言及しているcontainsように、Datastore プリミティブとしては利用できません。コンテインメント クエリを探している場合は、Search APIを参照してください (注: まだ実験段階です)。

于 2012-11-13T20:58:40.873 に答える