最佳答案
我需要编写一个应用程序,使用 spring-data 和 mongodb 可以执行复杂的查询。我已经开始使用 MongoRepository,但在寻找示例或实际理解语法方面遇到了复杂的查询问题。
我说的是这样的问题:
@Repository
public interface UserRepositoryInterface extends MongoRepository<User, String> {
List<User> findByEmailOrLastName(String email, String lastName);
}
or the use of JSON based queries which I tried by trial and error because I don't get the syntax right. Even after reading the mongodb documentation (non-working example due to wrong syntax).
@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
?两者都是成熟的吗? 还是其中一个比另一个缺少更多的特征?