spring-dataとmongodbを使用して複雑なクエリを実行できるアプリケーションを作成する必要があります。私はMongoRepositoryを使用することから始めましたが、例を見つけたり、構文を実際に理解したりするための複雑なクエリに苦労していました。
私はこのようなクエリについて話している:
@Repository
public interface UserRepositoryInterface extends MongoRepository<User, String> {
List<User> findByEmailOrLastName(String email, String lastName);
}
または、構文が正しくないので試行錯誤して試したJSONベースのクエリの使用。mongodbのドキュメントを読んだ後でも(構文が正しくないため機能しない例)。
@Repository
public interface UserRepositoryInterface extends MongoRepository<User, String> {
@Query("'$or':[{'firstName':{'$regex':?0,'$options':'i'}},{'lastName':{'$regex':?0,'$options':'i'}}]")
List<User> findByEmailOrFirstnameOrLastnameLike(String searchText);
}
すべてのドキュメントを読んだ後、それmongoTemplate
ははるかにドキュメント化されているようですMongoRepository
。私は次のドキュメントを参照しています:
http://static.springsource.org/spring-data/data-mongodb/docs/current/reference/html/
より便利で強力な使い方を教えてください。mongoTemplate
またはMongoRepository
?どちらも成熟していますか、それとも一方が他方よりも多くの機能を欠いていますか?