Мне нужно написать приложение, с помощью которого я могу выполнять сложные запросы с помощью 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/reference.html
Можете ли вы сказать мне, что более удобно и эффективно использовать? mongoTemplate
или MongoRepository
? Являются ли они одинаковыми зрелыми или у кого-то из них больше нет функций, чем на других?