删除:
DBObject deleAim = new BasicDBObject();
deleAim.put("_id", id);
mongoTemplate.getCollection(collection).remove(dbObject)
单条查询:
DBObject query = new BasicDBObject("_id", id);
DBObject fields = new BasicDBObject();
mongoTemplate.getCollection(collection).findOne(query, fields)
修改:
DBObject aim = new BasicDBObject("_id", id);
DBObject setValue = new BasicDBObject();
setValue.put("loc", loc.getLoc());
// 更新的值,用$set
DBObject updateSetValue = new BasicDBObject("$set", setValue);
//更新,aim:where条件 updateSetValue:更新值 true:是否没有记录时插入 false:是否多行更新
mongoTemplate.getCollection(collection).update(aim, updateSetValue , true, false);
添加:
Dynamic dynamic = New Dynamic();dynamic.setUserId("10023");
// ...
// set属性,自己补全
// 转换为DBObject
DBObject dbObject = BeanUtil.bean2DBObject(dynamic);
db.removeField("serialVersionUID");
// 保存
mongoTemplate.getCollection(collection).save(dbObject)
1.前言
代码中的Object代表数据库实体类
2.导入Mongo相关jar包
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.5.0</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>2.0.0.RELEASE</version>
</dependency>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
3.插入
//插入后id字段会被赋值,可以检查id是否为空来判断是否插入成功
mongoTemplate.insert(Object);
- 1
- 2
4.删除
Query query=new Query(Criteria.where("_id").is(id));
mongoTemplate.remove(query,AutomaticAlarm.class);
- 1
- 2
5.修改
Query query=new Query(Criteria.where("_id").is(id));
Update update = Update.update("要更新的字段", "更新的值");
mongoTemplate.updateFirst(query, update, Object.class);
- 1
- 2
- 3
6.查询
//查找所有
mongoTemplate.findAll(Object.class);
//分页查询
Query query = new Query();
query.skip("跳过的数据条数").limit("一页的数据条数");
return mongoTemplate.find(query, Object.class);
//条件查询1,多条件is("值")后面可以加and("字段2").is("值2")
Query query=new Query(Criteria.where("字段1").is("值1"));
return mongoTemplate.find(query, Object.class);
//条件查询2,gte大于 lte小于
Criteria criteria1 = Criteria.where("timestamp").gte(startTime).lte(endTime+1000);
//聚合查询