我需要编写一个应用程序,使用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
?它们都一样成熟吗,还是其中一个缺少更多功能?
YourRepository
,那么实现类必须被命名为YourRepositoryImpl
。你是这样做了吗?如果是的话,我可以在 GitHub 或类似网站上查看一个示例项目... - Oliver DrotbohmCustomUserRepository
而不是CustomerUserRepository
。 - Cotta