読者です 読者をやめる 読者になる 読者になる

SpringDataでMongoDBクエリ範囲指定

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));

かんたん!しにたい!

スポンサーリンク