mongoDB修改器之$set

mongoDB中如果文档只更新一部分,通常使用修改器,该操作是原子的,更新速度快,极为有效。

更新修改器是一种特殊的键,用来指定复杂的更新操作,比如调整、增加或者删除键,还可能是操作数组或者内嵌文档。

使用修改器,_id的值是不能改变的,其他键值 包括唯一索引的键都是可以更改的。

1.$set修改器

$set用来指定一个键的值,如果这个键不存在,则创建它。

db.users.find()  结果为

1.1 如果想增加新的键 addr 可以使用$set

 db.users.update({"name":"mfw"},{"$set":{"addr":"chongqing"}})

此时再次执行db.users.find() 结果为

1.2如果指定的列已经存在,想修改对应键的值,也可以

db.users.update({"name":"mfw"},{"$set":{"addr":"shandong"}})

执行db.users.find()结果如下:

1.3 如果想改变键对应的值的类型,也可以使用$set

db.users.update({"name":"mfw"},{"$set":{"addr":["shandong","chongqing"]}})

执行db.users.find()结果如下:

可以看到将addr的类型有字符串改为了数组类型

1.4 修改内嵌文档

db.users.update({"name":"mfw"},{"$set":{"author":{"name":"mengfw","email":"example.@com"}}})

现增加一个内线文档结果如下

修改author的name为meng

db.users.update({"name":"mfw"},{"$set":{"author.name":"meng"}})

执行db.users.find()结果如下:


2.unset

如果要删除一个键,则可以使用unset












评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值