mangodb的增删改查

 删除:

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);

    //聚合查询


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值