Google App Engine データストアでプレフィックス付きの名前を持つエンティティを検索する
質問:
ですか特定のフィールドが指定された文字列で始まるエンティティをデータストアから取得することは可能ですか?次のクエリを試行しても、望ましい結果を得ることができません:
q = datastore.NewQuery("Places").Filter("Name >", "a")
回答:
フィールド プレフィックスに基づくエンティティのクエリは、データストアで実際にサポートされています。ただし、2 つの不等式フィルターを結合する必要があります。
たとえば、「li」で始まる名前の場所を取得するには、クエリで「名前」フィールドが「li」より大きい (または等しい) ことを指定する必要があります。 「lj」未満。これは、「lj」が辞書編集的に後続の接頭辞であるためです。
GQL では、このクエリは次のように表示されます。
SELECT * FROM Places WHERE Name > 'li' AND Name < 'lj'
Go コードでは、クエリは次の形式になります。
q = datastore.NewQuery("Places").Filter("Name >", "li").Filter("Name <", "lj")
このクエリは次のような名前の場所を生成します:
liam lisotto lizst
ただし、次のような名前は除外されます:
abc ljoi lj qwerty
大文字と小文字は辞書編集上の区別があることに注意してください。命令。したがって、「List」は「li」の前にあり、「list」は「li」の後にあります。
以上がApp Engine データストアでプレフィックスが一致する名前を持つエンティティをクエリすることは可能ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。