Skip to main content

使用

David LiuLess 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)