mongodb的@Query写法
时间: 2023-11-07 20:53:05 浏览: 156
MongoDB The Definitive Guide.pdf
在使用Spring Data MongoDB时,可以使用@Query注解来自定义查询语句。@Query注解可以放在接口方法上,也可以放在接口方法的实现类方法上。
@Query注解的基本语法如下:
```
@Query("{'key': 'value'}")
List<YourEntity> findEntitiesByCustomQuery();
```
其中,`{'key': 'value'}`是MongoDB的查询语法,表示查询key字段等于value的文档。
如果需要传入参数,可以在@Query注解中使用占位符,例如:
```
@Query("{'key': ?0}")
List<YourEntity> findEntitiesByCustomQuery(String value);
```
其中,`?0`表示第一个参数,可以使用`?1`、`?2`等依次表示后面的参数。
还可以使用命名参数,例如:
```
@Query("{'key': :value}")
List<YourEntity> findEntitiesByCustomQuery(@Param("value") String value);
```
其中,`:value`表示名为`value`的参数。
除了查询语句,@Query注解还可以指定排序、分页等操作。例如:
```
@Query(value = "{'key': 'value'}", sort = "{ 'createTime' : -1 }")
Page<YourEntity> findEntitiesByCustomQueryWithSortAndPage(Pageable pageable);
```
其中,`sort = "{ 'createTime' : -1 }"`表示按照createTime字段进行倒序排序,`Pageable`表示分页信息。
以上是@Query注解的基本用法,更多高级用法可以参考官方文档:https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#mongodb.repositories.queries.
阅读全文