このチュートリアルに従ってMongoDBをセットアップしました
http://www.littlelostmanuals.com/2011/09/spring-mongodb-type-safe-queries.html
すべてが期待どおりに機能しますが、複数のフィールドに対してクエリを実行できるようにしたいところに行き詰まっています。
現在、保存している各タイプのリポジトリ インターフェイスがあり、単一のフィールドをうまく検索できます。
public interface StartedEventRepository extends
MongoRepository<DatablockStartedEvent, String>,
QueryDslPredicateExecutor<DatablockStartedEvent> {
}
以下は、単一のパラメーターのクエリです。
return startedEventRepo
.findOne(QDatablockStartedEvent.datablockStartedEvent.searchId
.eq(searchId));
次のようなクエリ オブジェクトを作成することは可能ですか。
if(someName != null){
query.where(QMyClass.name.eq(someName));
}
if(someTime != null){
query.where(QMyClass.time.eq(someTime));
}
List result = query.list();
MongodbQuery を調べてみましたが、うまくいきませんでした。何か案は?
http://www.mkyong.com/mongodb/spring-data-mongodb-update-document/の例を見ましたが、これは mongoTemplate を使用しています。リポジトリを介してこれを達成する方法はありませんか?そうでない場合、それらは役に立たないのですか?