誰かがこれを手助けできるかどうかを見てみましょう。春のデータを照会するOR
私は春データのMongoDBのリポジトリを使用したい、と私はObiously「」ANDをしよう、と私はORが必要A=10 or A=20
@Query("{A: 10, A:20}")
findById(int id);
値で検索をフィルタリングするクエリのアノテーションを使用します。
どうぞよろしくお願いします。
誰かがこれを手助けできるかどうかを見てみましょう。春のデータを照会するOR
私は春データのMongoDBのリポジトリを使用したい、と私はObiously「」ANDをしよう、と私はORが必要A=10 or A=20
@Query("{A: 10, A:20}")
findById(int id);
値で検索をフィルタリングするクエリのアノテーションを使用します。
どうぞよろしくお願いします。
:私は、Javaの春を知らないが、あなたの例を考えると、Query
部分は次のようになります
Query query = new Query();
query.addCriteria(Criteria.where("id").is(10).orOperator(Criteria.where("id").is(20));
this.client.findOne(query, clazz);
を働くかもしれないと思う
@Query("{A: {$in: [10, 20]}}")
idを既に使用していて、そのbase節にorが適用されているので動作しません。しかし、OPは直接的な第1レベルのOr節を持つことを望んでいます。 – hellojava
私たちは、いくつかの条件でorOperatorを適用できますか? –
使用SpringのBasicQuery:
DBObject queryCondition = new BasicDBObject();
BasicDBList values = new BasicDBList();
values.add(new BasicDBObject("A", 10));
values.add(new BasicDBObject("B", 20));
queryCondition.put("$or", values);
Query query = new BasicQuery(queryCondition);
mongoTemplate.find(query, clazz);
OR演算子からNULL条件を除外したい場合は、このコンストラクトは少ないオブジェクトの作成以外にも便利です。 –
それとも、あなたは春、Javaの演算子で$使用することができますクライテリアAPI
Criteria criteria = new Criteria();
criteria.orOperator(Criteria.where("A").is(10),Criteria.where("B").is(20));
Query query = new Query(criteria);
mongoOps.find(query, <Yourclass>.class, "collectionName");
を使用している場合:その注釈構造が、おかげで春データリポジトリ、誰かでは動作しません
Criteria criteria = Criteria.where("field").in(listOfOptions);
それは完璧だった!、ありがとう! – paul
ようこそ。 ){0}、{'key':?1}、{'username':?2}]} '') ")これは解決されたものとしてマークします; – FakeUser
@FakeUser @Query正しいクエリですか? –