SpringDataでMongoDBクエリ範囲指定

MongoDBの範囲指定って以下のような感じでまとめないといけないんですが、SpringDataだとこれどうやるのかなーとちょっとハマりました。

db.collection.find({ "field" : { $gt: value1, $lt: value2 } } );

参考:Operators — MongoDB Manual 2.4.8


以下のように書いた場合…

query.addCriteria(Criteria.where("field").gt(value1));
query.addCriteria(Criteria.where("field").lt(value2));

MongoDBのコンソールでは以下と同じ扱いになってしまいます。

db.collection.find({ "field" : { $gt: value1}, "field" : {$lt: value2 } } );

ではどうするかというと滅茶苦茶単純でした。

query.addCriteria(Criteria.where("ctime").gt(value1).lt(value2));

かんたん!しにたい!

スポンサーリンク