2013-04-07 10 views
10

私はSpringデータMongoDB Criteria API orOperatorに直面しています。SpringデータMongoDB - Criteria API OrOperatorが正常に動作しない

はここで不規則動詞のクエリの結果です:(ターミナル出力

> db.verb.find({'v2':'wrote'}); 
{ "_id" : ObjectId("5161a8adba8c6390849da453"), "v1" : "write", "v2" : "wrote", "v3" : "written" } 

そして私は春データのMongoDBクライテリアAPI使ってv1またはv2値によって動詞を照会:

Criteria criteriaV1 = Criteria.where("v1").is(verb); 
Criteria criteriaV2 = Criteria.where("v2").is(verb); 
Query query = new Query(criteriaV1.orOperator(criteriaV2)); 
List<Verb> verbList = mongoTemplate.find(query, Verb.class) 

をしかし残念ながらverbListには商品がありません。

答えて

29

私の知る限りorOperator使用するためにあなたが行う必要があります覚えている:あなたの助けを

Query query = new Query(new Criteria().orOperator(criteriaV1,criteriaV2));
+0

感謝。アプリケーションログを調べた後、最初のパラメータがAND条件のように使用されることがわかります。だから、あなたが書いた、または常に真の条件を追加したような解決策は、Criteriaの新しいインスタンスを使用しています。 – talha06

+0

複数のorperatorを使用して複数の基準を検索するにはどうすればよいですか? –

関連する問題