使用
January 3, 2023Less than 1 minute
使用
MongoTemplate 灵活
MongoRepository 不够灵活
mongoTemplate.findAll(User.class):查询User文档的全部数据
mongoTemplate.findById(\<id\>, User.class): 查询User文档id为id的数据
mongoTemplate.find(query, User.class);:根据query内的查询条件查询
mongoTemplate.upsert(query, update, User.class): 修改
mongoTemplate.remove(query, User.class): 删除
mongoTemplate.insert(User):新增
查询
条件查询
Query query = new Query(
Criteria.where("name").is("Dave")
.and("age").is(20)
)
mongoTemplate.find(query, User.class)
模糊查询,正则表达式
String name = "est";
String regex = String.format("%s%s%s", " *", name, ".*$");
Pattern pattern = Pattern.compile(regex, Pattern. CASE_INSENSITIVE)
Query query = new Query(
Criteria.where("name").regex(pattern)
.and("age").is(20)
)
mongoTemplate.find(query, User.class)
分页查询
int pageSize = 5, pageNumber = 2;
Query query = new Query(
Criteria.where("name").is("Dave")
.and("age").is(20)
)
mongoTemplate.find(query.skip((pageNumber - 1) * pageSize).limit(pageSize), User.class)