自学内容网 自学内容网

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
希望对你有所帮助

未完待续


原文地址:https://blog.csdn.net/weixin_37624903/article/details/140507969

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!