加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 服务器 > 系统 > 正文

mongodb字段和数组更新数据示例解说

发布时间:2022-04-26 08:44:06 所属栏目:系统 来源:互联网
导读:更新数据操作是数据库的日常操作,那么mongodb更新数据的方法有哪些呢?下面就给大家分享关于mongodb更新数据的方法,有字段更新,数组更新等等方法,接下来跟随小编一起看看吧。 数据更新是我们日常操作数据库必不可少的一部分,下面这篇文章就给大家分享了
        更新数据操作是数据库的日常操作,那么mongodb更新数据的方法有哪些呢?下面就给大家分享关于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'},{$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

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读