Mongodb 更新操作update
2018-08-09 本文已影响0人
lihao_李浩
有则更新
此操作只有在数据库有此条数据时才更新
如下图 会将MENU_KEY这条数据整个更新掉
命令:
db.menu_models.update({"MENU_KEY":'rrrrr'},{"AAAA":"rrrrr"})
![](https://img.haomeiwen.com/i6175101/0f9d736ed91db6e2.png)
命令前:
image.png
命令后
image.png
$set 只更新字段
此操作只有在数据库有此条数据时 会和新设置的字段融合
db.menu_models.update({"AAAA":'rrrrr'},{$set:{"BBBB":"HHH"}})
![](https://img.haomeiwen.com/i6175101/b9e2fbf0c3541790.png)
命令前:
image.png
命令后:
image.png
multi多行更新
以上的更新操作只会更新符合条件的一条记录 设置multi可以全部更新
注意:multi必须要与$set组合使用否则会报错:multi update only works with $ operators
命令:
db.menu_models.update({"AAAA":'rrrrr'},{$set:{"BBBB":'CCC'}},{multi:true})
![](https://img.haomeiwen.com/i6175101/d3f7aa9d04687822.png)
命令前:
image.png
命令后:
image.png
upsert 更新不存在则新增
添加upsert则更新文档不存在则新增一条新文档
命令:
db.menu_models.update({"AAAA":'rrrrr'},{"BBBB":'CCC'},{upsert:true})
![](https://img.haomeiwen.com/i6175101/a04fc18bd0cfc267.png)
命令前:
数据库是没数据的
命令后
image.png
$set和upsert组合
命令:
db.menu_models.update({"AAAA":'rrrrr'},{$set:{"BBBB":'CCC'}},{upsert:true})
![](https://img.haomeiwen.com/i6175101/6589f7e13de507d5.png)
命令前:
数据库是没数据的
命令后:
image.png