스프링 데이터와 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
? 둘 다 똑같습니까, 아니면 둘 중 하나가 다른 것보다 더 많은 기능이 부족합니까?