MongoDB 更新文档(更新多条文档)

本文介绍了如何使用MongoDB的updateMany方法更新多条文档,通过示例展示了如何针对不存在fruits字段或其值为空的文档,将fruits字段设置为[banana]。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一篇我们介绍了如何更新一条文档,本篇我们介绍一下,如果更新多条文档,我们来回顾一下更新多条文档的语法:

        db.collection.updateMany(filter, update, options)

上一篇我们对语法中的参数及参数的语法进行了详细的介绍:

        collection指的是集合

        filter 指的是文档的过滤条件

        update 指的是更新的内容

        options是一些其他的选项。

本篇不再对上面的参数以及参数的语法进行介绍,如果有需要则参考:

MongoDB 更新文档(更新一条文档)https://blog.csdn.net/m1729339749/article/details/129983304我们直接通过示例来说明如何更新多条文档:

例子:

我们先查询一下数据:

{ "_id" : "1001", "name" : "张三2", "fruits" : [ "apple", "orange" ], "updateTime" : ISODate("2023-04-06T02:36:00.703Z") }
{ "_id" : "1002", "name" : "李四", "fruits" : [ "banana", "apple" ] }
{ "_id" : "1003", "name" : "王五", "fruits" : [ "banana", "apple", "orange" ] }
{ "_id" : "1004", "score" : 100, "name" : "田七" }
{ "_id" : "1005", "name" : "田七", "score" : 100 }

我们更新不存在fruits字段或者fruits字段值为空的数据,把fruits的值设置成[ "banana" ]:

db.test.updateMany(
    { 
        $or: [ 
            { "fruits": { $exists: false } }, 
            { "fruits": { $size: 0 } } 
        ] 
    }, 
    { 
        $set: { "fruits": [ "banana" ] } 
    }
);

更新之后,查询数据如下:

{ "_id" : "1001", "name" : "张三2", "fruits" : [ "apple", "orange" ], "updateTime" : ISODate("2023-04-06T02:36:00.703Z") }
{ "_id" : "1002", "name" : "李四", "fruits" : [ "banana", "apple" ] }
{ "_id" : "1003", "name" : "王五", "fruits" : [ "banana", "apple", "orange" ] }
{ "_id" : "1004", "score" : 100, "name" : "田七", "fruits" : [ "banana" ] }
{ "_id" : "1005", "name" : "田七", "score" : 100, "fruits" : [ "banana" ] }

我们可以看到_id 为1004, 1005的两条数据已经更新了fruits字段。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值