我需要编写一个应用程序,用它可以使用spring数据和mongodb进行复杂的查询.我从使用MongoRepository开始,但在复杂的查询中难以找到示例或真正理解语法.
我说的是这样的问题:
@Repository
public interface UserRepositoryInterface extends MongoRepository<User, String> {
List<User> findByEmailOrLastName(String email, String lastName);
}
或者使用基于JSON的查询,我try 了反复try ,因为我没有正确的语法.甚至在阅读了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
?两者都是成熟的,还是其中一个比另一个缺少更多功能?