新しい柔軟な環境のデータストアインターフェイスは、クエリの実行時にIN
オペレーションをサポートしていないようです。もし私が間違っていたら、Datastoreの新しいJavaインターフェイスでIN
演算子をどうすれば使えますか?IN演算子を使用したデータストアクエリ
答えて
-WHERE color IN('RED', 'BLACK')
のようなクエリは、Datastore(サーバー側)ではサポートされていません。 OR
演算子(例:WHERE color='RED' OR color='BLACK'
)の場合も同じです。一部のクライアントAPIでは、クエリを複数に分割し、各クエリの結果をマージすることでこの機能を追加しています。新しいgoogle-cloud-java APIはこれをまだサポートしていません。今のところ、IN
句の各値に対して複数のクエリを実行し、結果をマージする必要があります。ここで
はdocumentationからの例です:
クエリに複数のフィルタを設定したい場合は、少なくとも2つのフィルタを必要と
CompositeFilter
を使用する必要があります。
Filter tooShortFilter = new FilterPredicate("height", FilterOperator.LESS_THAN, minHeight);
Filter tooTallFilter = new FilterPredicate("height", FilterOperator.GREATER_THAN, maxHeight);
Filter heightOutOfRangeFilter = CompositeFilterOperator.or(tooShortFilter, tooTallFilter);
Query q = new Query("Person").setFilter(heightOutOfRangeFilter);
また.and()
を使用することができます。ここでのコードはJava 7用です。Java 8の場合は、上で参照したドキュメントで対応するコードを見つけることができます。私はそれが助けて欲しい
Now to IN
。私は最近それを試していませんが、現在のドキュメントでは、はがまだ演算子として使用できることを示しています。それによると、以下のようなコードは動作するはずです:
Filter propertyFilter = new FilterPredicate("height", FilterOperator.IN, minHeights);
Query q = new Query("Person").setFilter(propertyFilter);
また、あなたはGoogle GQLを使用することができます。これは、あなたはin(...)
を使用することができますSQLのような構文を記述することができます。
新しいデータストアAPIに適用されますか? –
文書はまだ同じですので、私は「はい」と推測しています。 – Y2H
ドキュメントは標準的な環境であり、柔軟なものではありません:-( –
- 1. ifnullを使用したMysql IN演算子
- 2. XPath "in"演算子
- 3. ElasticSearch:「IN」演算子
- 4. Cypher "IN"演算子
- 5. 一緒にIN演算子とStartswith演算子を使用する
- 6. python演算子、 "not in"の演算子なし
- 7. ビット演算子を使用したパターン
- 8. Delphi 'in'演算子オーバーロードセット
- 9. プリミティブ型とIN演算子
- 10. IN演算子check文中
- 11. パンダシリーズと `in`演算子
- 12. OLEDBのIN演算子
- 13. C++オーバーロード演算子== in myStack.h
- 14. SQL IN演算子ネストされたクエリ
- 15. In()演算子が機能しない
- 16. CONTAINS演算子 '@'を使用
- 17. Apacheドリルクエリmongo配列IN()演算子を使用するフィールド型
- 18. IN演算子を一時テーブルで使用する方法
- 19. LINQでIN演算子を使用する方法
- 20. $ projectステージの$ in演算子を使用するフィルタ配列
- 21. PythonでAND演算子とNOT演算子を使用する
- 22. Pythonでブール演算子を使用するためのビット演算子のオーバーロード
- 23. JPA CriteriaBuilder - "IN"比較演算子の使用方法
- 24. .NET 2.0 DataTableフィルタ式内のSql 'In'演算子の使用
- 25. MYSQL INでの使用と演算子の間のヌル結果
- 26. instanceof演算子の使用
- 27. 演算子のオーバーロードを使用した行列の加算
- 28. 算術演算子を使用したRubyの日付フォーマット
- 29. 算術演算子を使用したRubyメソッド名:+ - * \と=、+ =
- 30. OR演算子を使用したSQL Where句の使用
または可能であれば、クエリの代わりにバッチルックアップを使用します。 –