我需要编写一个应用程序,可以使用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
?两者都是成熟的,还是其中一个比另一个缺少更多的功能?