SpringBoot mongodb starter 使用

综合案例:

  1. 排序,指定排序方式。
  2. 分页查询
  3. 多条件查询
  4. 正则条件查询
  5. 获取指定字段
@Autowired
private MongoTemplate mongoTemplate;

// 排序条件封装
Sort sort =Sort.by(Sort.Direction.DESC, "age");  // 依照 age 字段 降序
// 分页查询条件封装,排序条件加入
Pageable pageable = PageRequest.of(0, 10, sort); // 0 页号 // 10 页大小 // sort 排序条件
// 查询对象,里面添加 查询条件
Query query = new Query();
// 查询条件 Criteria 条件
Criteria criteria = new Criteria();
// query 添加条件 
ArrayList<String> nameList = Arrays.asList("zs","lisi");
query.addCriteria(Criteria.where("name").in(nameList ));  // name 的值要 在 nameList 里 
// 添加 province = 北京 条件 
criteria.and("province").is("北京"); 
// 正则条件封装
Pattern addressPattern = Pattern.compile(".*河.*$", Pattern.CASE_INSENSITIVE); // 任意字符开头,中间有——河,这个字,任意字符结尾
criteria.and("address").regex(addressPattern);
// 最后将没有加入的条件加入
query.addCriteria(criteria);
// 指定返回的字段有 name 字段
query.fields().include("name");
// 执行查询
List<Person> personList = mongoTemplate.find(query.with(pageable),Person.class); // Person 是返回的数据对象

Person.class

@Document(collection = "tb_person") // collection 名字
public class Person{
	@Field("name") // 指定对应字段在 collection 里
    private String name;
    @Field("age")
    private Integer name; 
    /*getter setter ... */
}

更多方法类似。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值