mongoTemplate or 查询
时间: 2024-01-26 13:02:20 浏览: 109
mongo 的查询客户端
mongoTemplate是Spring Data MongoDB提供的一个MongoDB操作模板,可以方便地进行MongoDB的增删改查操作。而查询操作可以使用mongoTemplate提供的各种查询方法,比如:
1. 根据条件查询所有记录
```
Query query = new Query(Criteria.where("name").is("张三"));
List<User> userList = mongoTemplate.find(query, User.class);
```
2. 根据条件查询单条记录
```
Query query = new Query(Criteria.where("name").is("张三"));
User user = mongoTemplate.findOne(query, User.class);
```
3. 分页查询
```
Query query = new Query(Criteria.where("age").gt(18));
query.skip(0).limit(10); // 分页查询,从第0页开始,每页10条记录
List<User> userList = mongoTemplate.find(query, User.class);
```
4. 排序查询
```
Query query = new Query(Criteria.where("age").gt(18));
query.with(Sort.by(Sort.Direction.DESC, "age")); // 按照年龄倒序排列
List<User> userList = mongoTemplate.find(query, User.class);
```
5. 聚合查询
```
Aggregation aggregation = Aggregation.newAggregation(
Aggregation.match(Criteria.where("age").gt(18)),
Aggregation.group("gender").count().as("count")
);
AggregationResults<GenderCount> results = mongoTemplate.aggregate(aggregation, User.class, GenderCount.class);
List<GenderCount> genderCountList = results.getMappedResults();
```
以上是一些常见的查询操作示例,具体操作还需要根据实际情况进行调整。
阅读全文