MongoDB原生语句更新嵌套数组的值

这篇具有很好参考价值的文章主要介绍了MongoDB原生语句更新嵌套数组的值。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、更新一层嵌套数组

首先执行MongoDB原生语句脚本在user集合中产生一些样本数据,如下所示:

db.user.insert({"_id":1,"title":"爱情公寓3","students":[{"student_id":1001,"student_name":"林宛瑜"},{"student_id":1002,"student_name":"陆展博"}]});
db.user.insert({"_id":2,"title":"爱情公寓4","students":[{"student_id":2001,"student_name":"吕子乔"},{"student_id":2002,"student_name":"张伟"}]});

mongodb 嵌套数组更新,MongoDB,mongodb

如果想将吕子乔修改为曾小贤,则可以执行下述脚本进行数据更新:

db.user.updateMany(
    {'students.student_id':2001},
    {$set:{'students.$.student_name':'曾小贤'}}
);

这时再次查看user集合,可以看到数据已经更新:

mongodb 嵌套数组更新,MongoDB,mongodb

此处使用了$符号,$符号表示的是一个占位符,代表被匹配的数组中的一个元素对象。

执行下述脚本,更新嵌套数组中多个字段的值也是可以的: 

db.user.updateMany(
    {'students.student_id':2001},
    {$set:
        {'students.$.student_id':20001,
        'students.$.student_name':'胡一菲'}
    }
);

执行下述脚本,将嵌套数组中student_name的字段类型由字符串更改为数组

db.user.updateMany(
    {'students.student_id':20001},
    {$set:
        {'students.$.student_name':['陈美嘉','关谷神奇']}
    }
);

mongodb 嵌套数组更新,MongoDB,mongodb

如果还想将陈美嘉修改为Lisa榕,很容易就会想到执行下述脚本进行数据更新:文章来源地址https://www.toymoban.com/news/detail-612544.html

db.user.updateMany(
    {'students.student_name':'陈美嘉'},
    {$set

到了这里,关于MongoDB原生语句更新嵌套数组的值的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MongoDB常用语句以及对应BSON语法

    1. 查询语句:  MongoDB语法: Go BSON语法: 例子:查询users集合中所有年龄大于20岁的数据。 2. 插入语句: 例子:在users集合中插入一个名为“Alice”的用户。  3. 更新语句 例子:将users集合中所有名字为“Bob”的用户的年龄改为30岁。  4. 删除语句:                 

    2024年02月08日
    浏览(40)
  • linux原生安装mongodb

    1.下载tgz文件,解压缩并将文件夹重命名为mongodb 2.新建存储目录 3.编辑配置文件(默认进去先不设置认证,创建用户后开启认证) 4.启动mongodb 5.创建myroot和用户 6.在配置文件中添加配置 7.重启mongodb并进行认证登陆即可

    2024年02月16日
    浏览(46)
  • SpringBoot实用开发(十二)-- MongoDB语句的简单使用

    目录 1.新增文档 2.删除文档 3.修改文档 4.查询文档 4.1 基础查询 4.2 条件

    2024年01月24日
    浏览(40)
  • MongoDB系统性能调优(持续更新)

    cache_size 指定WT存储引擎内部cache的内存用量上限。 需要注意的是,仅作用于WiredTiger cache,而非mongod进程的内存用量上限。MongoDB同时使用WT cache和文件系统cache,往往mongod进程的内存用量高于该值。cache_size相对于物理内存总量不要设置的太满,需要留有一定内存为操作系统所

    2024年01月19日
    浏览(33)
  • Mongodb 更新集合的方法到底有几种 (中) ?

    Mongodb 使用以下几种方法来更新文档 , Mongodb V5.0+ 使用 mongosh 客户端: db.collection.updateOne(filter, update, options) db.collection.updateMany(filter, update, options) db.collection.replaceOne(filter, update, options) db.collection.findOneAndReplace(filter, replacement, options) db.collection.findOneAndUpdate( filter, update, options

    2024年02月12日
    浏览(46)
  • Mongodb 更新集合的方法到底有几种 (下) ?

    Mongodb 使用以下几种方法来更新文档 , Mongodb V5.0+ 使用 mongosh 客户端: db.collection.updateOne(filter, update, options) db.collection.updateMany(filter, update, options) db.collection.replaceOne(filter, update, options) db.collection.findOneAndReplace(filter, replacement, options) db.collection.findOneAndUpdate( filter, update, options

    2024年02月12日
    浏览(46)
  • MongoDB 获取数组中匹配到的第一个元素对象

    例如当前test库中的grade集合中有两条文档数据,如下图所示: 相关的两个实体映射类如下: 

    2024年02月12日
    浏览(40)
  • Mongodb过滤器filter选择要返回的数组子集

    Mongodb使用过滤器 $filter 根据指定条件选择要返回的数组子集。返回仅包含与条件匹配的元素的数组。返回的元素按原始顺序排列。 也就是说,这个是选择你要的文档,而不是排除。 如果该数组没有符合条件 ,则为 空 [] $filter: 选择数组的子集以返回仅包含与过滤条件匹配的

    2024年02月16日
    浏览(55)
  • 深入了解 Python MongoDB 操作:排序、删除、更新、结果限制全面解析

    使用 sort() 方法对结果进行升序或降序排序。 sort() 方法接受一个参数用于“字段名”,一个参数用于“方向”(升序是默认方向)。 示例 按名称按字母顺序对结果进行排序: 要删除一个文档,我们使用 delete_one() 方法。 delete_one() 方法的第一个参数是一个查询对象,用于定

    2024年01月15日
    浏览(41)
  • 如何使用 Python 操作 MongoDB,包括连接、插入、查询、更新和删除数据,以及进阶用法

    MongoDB 是一种流行的 NoSQL 数据库,支持面向文档的数据存储。Python 是一种流行的编程语言,提供了许多库和工具,方便与 MongoDB 进行交互。在本文中,我们将介绍如何使用 Python 操作 MongoDB,包括连接、插入、查询、更新和删除数据,以及一些高级用法。 连接 MongoDB 在使用

    2024年02月04日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包