MongoDB自学笔记(三)

一、前文回顾

上一篇文章中我们学习了更新操作,以及讲解了部分的更新操作符,今天我们继续学习剩余的更新操作符。

二、更新操作符

1、$rename

语法:{ $rename: { < field1 >: < newName1 >, < field2 >: < newName2 >, … } }
含义:用于修改字段名称,类似于MySQL中DDL

示例1:例如我们要将库存集合(inventory)中的 qyt字段名称改成 quantity
db.inventory.updateMany({}, {$rename :{"qty":"quantity"}})

运行结果:
image.png
image.png
当然这里也可以只给一条文档修改字段名。

示例2:给修改嵌套文档的字段名

例如我们size文档下的h名称改为 height
image.png

db.inventory.updateMany({}, {$rename :{"size.h":"size.hight"}})

运行结果:
image.png
image.png

示例3:将内嵌文档中的字段移到文档外部

例如我们想把size下的uom字段移动到内嵌元素的外部,我们也可以使用rename命令

db.inventory.updateMany({}, {$rename :{"size.uom":"uom"}})

运行结果:
image.png
image.png

注意点:rename不适用于不适用于数组中的嵌入式文档

2、$set

语法:{ $set: { < field1 >: < value1 >, … } }
含义:设置文档中字段的值,就类似于Mysql中的 update table set = xxxx

示示1:将ID=66951edbdf24000083007d74 的文档的quantity设置为100
db.inventory.updateOne({"_id":ObjectId("66951edbdf24000083007d74")},{ $set:{"quantity":100}  })

运行结果:
image.png
image.png

示例2:set一个不存在的字段值

例如我给ID为66951edbdf24000083007d74的元素添加一个字段价格 Price,为200,此时也可以用set

db.inventory.updateOne({"_id":ObjectId("66951edbdf24000083007d74")},{ $set:{"price":200}  })

运行结果
image.png
image.png

同理如果要设置嵌套文档,则使用 “点符号”,这里不在赘述。

3、$unset

语法:{ $unset: { < field1 >: “”, … } }
含义:删除特定字段。

示例1:我想删除66951edbdf24000083007d74的文档的price字段
db.inventory.updateOne({"_id":ObjectId("66951edbdf24000083007d74")},{ $unset:{"price":""} })

运行结果:
image.png
image.png同理如果是嵌套文档则需要用“点符号。

三、结束语

Mongo中还有许多的操作符,这里不在一一赘述,一切要以官网为准,这里贴上官网的地址:https://www.mongodb.com/zh-cn/docs/manual/reference/operator/update/#std-label-update-operators
希望对你有所帮助

未完待续

相关推荐

  1. MongoDB学习笔记

    2024-07-18 03:20:02       37 阅读
  2. MongoDB使用笔记

    2024-07-18 03:20:02       34 阅读
  3. MongoDB学习笔记

    2024-07-18 03:20:02       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 03:20:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 03:20:02       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 03:20:02       58 阅读
  4. Python语言-面向对象

    2024-07-18 03:20:02       69 阅读

热门阅读

  1. (77)组合环路--->(01)组合环路介绍

    2024-07-18 03:20:02       21 阅读
  2. 开发扫地机器人系统时无法兼容手机解决方案

    2024-07-18 03:20:02       23 阅读
  3. Spring源码-读取XML文件配置信息

    2024-07-18 03:20:02       20 阅读
  4. 使用 Django 框架进行开发的基本模板

    2024-07-18 03:20:02       21 阅读
  5. ubuntu安装mininet-wifi

    2024-07-18 03:20:02       20 阅读
  6. VPN介绍

    2024-07-18 03:20:02       21 阅读
  7. Ubuntu下如何设置程序include搜索路径及链接路径

    2024-07-18 03:20:02       24 阅读
  8. 生成式 AI 的发展方向,是 Chat 还是 Agent?

    2024-07-18 03:20:02       25 阅读