MongoTemplate基础增删改查

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xyy1028/article/details/86468969

 

1.插入操作(insert)

Map data = new HashMap();
data.put("name","xiaoge");
data.put("sex","male");
String date = String.format("%1$tF %1$tT",  new Date());
data.put("date",date);
mongoTemplate.insert(data,"why");

2.查询(精确查询和模糊查询)

2.1 排序 

       

query.with(new Sort(Sort.Direction.ASC,"date")) 

2.2 精确查询

Query query = new Query();
query.addCriteria(Criteria.where("sex").is("male"));

2.3 模糊查询

Pattern pattern=Pattern.compile("^.*"+dateTime+".*$", Pattern.CASE_INSENSITIVE);
Query query = new Query();
query.addCriteria(Criteria.where("date").regex(pattern));

2.4 范围查询

//gte : >= ; lte : <= ; gt : > ; lt : <
Query query = new Query();
query.addCriteria(Criteria.where("date").gt("2019-01-11 14:05:01").lte("2019-01-11 14:09:53"));
List<Map> data = mongoTemplate.find(query,Map.class,"why");

2.5 分页 limit(size) skip(skipsize)

size:每页几条数据 ; skipsize: 跳过的数据条数

例如:每页size条数据.则第page页的数据为   query.limit(size).skip(size*(page-1))

Query query = new Query();
query.limit(3).skip(3*(4-1));

2.6 综合查询

Query query = new Query();
query.with(new Sort(Sort.Direction.ASC,"date"));
Pattern pattern=Pattern.compile("^.*"+"y"+".*$", Pattern.CASE_INSENSITIVE);
query.addCriteria(Criteria.where("sex").is("male").and("name").regex(pattern).
     and("date").gt("2019-01-11 14:05:01").lte("2019-01-11 14:09:53"));
List<Map> data = mongoTemplate.find(query,Map.class,"why");

2.7 单条查询

findOne()
Map data = mongoTemplate.findOne(query,Map.class,"why");

3.删除 remove()

Query query=new Query(Criteria.where("date").is("2019-01-11 14:14:05"));
long count = mongoTemplate.remove(query,Map.class,"why").getDeletedCount();

4.更新

Query query=new Query(Criteria.where("date").is("2019-01-11 14:13:38"));
Update update = Update.update("name","hhd").set("sex","animal");
mongoTemplate.updateFirst(query, update, Map.class,"why");

猜你喜欢

转载自blog.csdn.net/xyy1028/article/details/86468969