0

「言語」と「タグ」の 2 つの列を持つプロジェクトのテーブルがあります。

ユーザーが を与えた後、またはであるinputすべてのプロジェクトを出力したいと思います。languageinputtaginput

上記のSQLクエリは次のようになります。

SQL クエリ:Select * from TableName where language='input' OR tag='input'

Gqlで同じことを実行しようとしましたが、無駄でした。上記の方法でデータを出力するための Gql のクエリは何ですか。

4

2 に答える 2

1

GQL には がないORため、基本的に 2 つの個別のクエリと結合結果を作成する必要があります。

Select * from TableName where language='input'
Select * from TableName where tag='input'

アプリ側で結果を結合する必要があります。Cloud Console はそのようなこともサポートしていません。

GQL リファレンスを参照してください: https://cloud.google.com/datastore/docs/apis/gql/gql_reference

于 2015-11-10T06:25:11.193 に答える
1

GQL の使用が必須かどうかはわかりませんが、回避できる場合は、代わりに ndb フィルターを使用できます。

results = TableName.query(ndb.OR(TableName.language == 'input',
                       TableName.tag == 'input'))
for result in results: 
    ....your code here...

詳細: https://cloud.google.com/appengine/docs/python/ndb/queries

于 2015-11-10T16:05:34.200 に答える