MongoDB数据更新方法干货篇


本文整理自网络,侵删。

前言

数据更新是我们日常操作数据库必不可少的一部分,下面这篇文章就给大家分享了操作MongoDB数据更新的一些干货,对大家具有一定的参考学习价值,一起来学习学习吧。

常用的函数

  • update(<query>,<update>,<upsert>,<multi>) ,其中<query>表示筛选的条件,<update>是要更新的数据
  • updateMany() 更新所有匹配到的数据

upsert

upsert是一个布尔类型的数据,如果为true时,当根据query条件没有找到匹配的数据时,就表示插入此条数据,如果为false就表示不插入数据

下面将会在一个空的集合中更新数据

//就会插入此条数据,因为没有找到匹配的信息
db.user.update({'name':'chenjiabing','age':22,'sex':"Man"},{$set:{'hobby':'read'}},{'upsert':true}); 
db.user.update({'name':'chenjiabing','age':22,'sex':"Man"},{$set:{'hobby':'read'}},true); //和上面的语句等价
//输出 db.user.find()
{ "_id" : ObjectId("59067b70856d5893a687655f"), "age" : 22, "name" : "chenjiabing", "sex" : "Man", "hobby" : "read" }

multi

如果这个参数为true,就把按条件查出来多条记录全部更新。默认为false,如果为true的话和updateMany()一样的效果

下面将会更新所有匹配到的数据

db.user.update({name:'chenjiabing'},{$set:{'hobby':'code'}},{'multi':true});

字段更新操作符 Field Update Operators

$set

$set用来指定一个键的值。如果这个键不存在,则创建它。注意这里的更新默认是只更新第一条匹配到的数据,如果第一条匹配的数据已经满足修改后的条件,那么将不会执行下面匹配的信息

下面我们将会添加一条信息在数据库中

db.user.insert({"name":'jack',"age":22,"sex":'Man','school':{'name':'jsnu','city':'xuzhou'}});

运行下面的代码,将该用户的兴趣设置为“读书”并添加至文档中(此时文档中hobby键是不存在,该条文档就会创建它)

db.user.update({name:'jack'},{$set:{'hobby':'read'}})

下面将会修改用户的年龄

db.user.update({'name':'jack'},{$set:{'age':20}})

下面用$set修改数据类型,将sex设置为1

db.user.update({'name':'jack'},{$set:{'sex':1}})

下面用$set修改内嵌文档,必须指定文档的名字和键值

db.user.update({name:'jack'},{$set:{'school.name':'shida','school.city':'beijing'}})

$unset

从文档中移除指定的键

下面将要删除上面插入的hobby键

db.user.update({name:'jack'},{$unset:{'hobby':1}}) //这里的值是任意给的,随便什么值

$inc

$inc修改器用来增加已有键的值,或者在键不存在时创建一个键$inc就是专门来增加(和减少)数字的。$inc只能用于整数、长整数或双精度浮点数。要是用在其他类型的数据上就会导致操作失败

例如毎次有人访问该博文,该条博文的浏览数就加1,用键pageViews保存浏览数信息。这个键值上面没有定义过,所以会自动创建一个

db.user.update({name:'jack'},{$inc:{'pageViews':1}}); //起初没有就会自动创建一个键

下面演示增加和减少

db.user.update({name:'jack'},{$inc:{'pageViews':100}}) ; //这里是在上面的基础上加上100,此时变成了101
db.user.update({name:'jack'},{$inc:{"pageViews":-100}}) ; //这里是在上面的基础上减去100,此时还是变成了1

$rename

语法: {$rename: { <old name1>: <new name1>, <old name2>: <new name2>, ... } }

$rename操作符可以重命名字段名称,新的字段名称不能和文档中现有的字段名相同。

阅读剩余部分

相关阅读 >>

mongodb数据库基础知识整理

mongodb入门教程之常用的运维技术介绍

mongodb 常用的crud操作语句

mongodb4.0在windows10下的安装与服务配置教程详解

阿里云服务器安装mongodb的方法

windows下安装mongodb以及node.js连接mongodb实例

mongodb入门教程(包含安装、常用命令、相关概念、使用技巧、常见操作等)

centos系统搭建mongodb数据库

mongodb性能优化及监控

深入了解python如何操作mongodb

更多相关阅读请进入《mongodb》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...