mongodb java 更新数据_java操作mongodb——更新数据

本文详细介绍了MongoDB中如何使用updateOne、updateMany和replaceOne方法来更新集合文档,包括_id字段的特殊性。重点讲解了更新操作符如$inc、$mul、$rename等的用法,并给出了实例代码。同时,提到了$setOnInsert在新插入文档时的作用,以及如何删除字段。最后,提供了官方文档链接以供进一步学习。
摘要由CSDN通过智能技术生成

Java中可以通过updateOne,updateMany,replaceOne方法进行集合的文档更新。但是 _id 是不能更新的

updateOne只会更新一条数据,即使通过Filters.lt("age", 20)过滤出多条数据,也只会取出一条进行更新

更新操作符

名称        描述

$inc        增加一个指定值

$mul        乘以一个指定值

$rename       重命名

$setOnInsert     更新操作对现有的文档没有影响,而是新插入了一个文档,则在这新插入的文档中加上指定字段

$set        修改值

$unset        删除文档中指定字段

$min         更新文档中小于指定值的字段

$max        更新文档中大于指定值的字段

$currentDate    设置当前时间,日期或者时间戳

$set

只修改指定字段值,当字段不存在时,则在该文档中添加一个新的字段并赋值

doc.updateOne(Filters.eq("age", 20), new Document("$set",new Document("sex",2222)));

FindIterable iter1 = doc.find();

iter1.forEach(new Block() {

public void apply(Document _doc) {

System.out.println(_doc.toJson());

}

});

$inc

对指定字段进行增量增加,当字段不存在时,则在该文档中添加字段并赋值

doc.updateOne(Filters.eq("name", "张三"), new Document("$inc",new Document("age",10)));

FindIterable iter = doc.find();

iter.forEach(new Block() {

public void apply(Document _doc) {

System.out.println(_doc.toJson());

}

});

$mul

$mul的用法与$inc的用法差不多,差别在于$mul为相乘,$inc为相加,若字段不存在,添加字段并赋值为0

$rename

修改document的字段名

doc.updateOne(Filters.eq("name", "张三"), new Document("$rename",new Document("phone","telPhone")));

FindIterable iter = doc.find();

iter.forEach(new Block() {

public void apply(Document _doc) {

System.out.println(_doc.toJson());

}

});

其他操作可查看官方文档:

https://docs.mongodb.com/manual/reference/operator/update/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值