Мені потрібно написати програму, за допомогою якої я можу робити складні запити, використовуючи 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
? Вони обидва однакові зрілі, чи одному з них не вистачає більше функцій, ніж іншому?