ホームページ  >  記事  >  バックエンド開発  >  App Engine データストアでプレフィックスが一致する名前を持つエンティティをクエリすることは可能ですか?

App Engine データストアでプレフィックスが一致する名前を持つエンティティをクエリすることは可能ですか?

DDD
DDDオリジナル
2024-10-24 07:08:02977ブラウズ

Is it Possible to Query for Entities with Prefix-Matched Names in App Engine Datastore?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。