mongodb修改器

1.$set & $unset

说明:$set用来制定一个字段的值。如果这个字段不存在,则创建它。$unset可以把存在的键完全删除。

用法($set):1.无age字段(增加键值)

db.users.update({"name":"juan"},{$set:{"age":23}})

2.修改age字段(修改键值,可以修改其值的类型)

db.users.update({"name":"juan"},{$set:{"age":"23"}})

用法($unset):1. 删除键值

db.users.update({"name":"juan"},{$unset:{age:1}})

2.$inc

说明:$inc用来增加已有键的值,或者该键不存在那就创建一个。

注意:$inc的值必须为数字。

用法:db.users.update({"name":"juan"},{$inc:{"age":23}})

3.$push

$each:

说明:使用$each子操作符,可以通过一次$push操作添加多个值。

用法:db.users.update({"name":"juan"},{$push:{"book":{"$each":["node","express"]}}})

$slice:

说明:$slice和$push组合在一起使用,这样就可以保证数组不会超出设定好的最大长度。

注意:$slice的值必须是负整数。如果$slice的值为-10,数组的元素数量大于10,那么只有最后10个元素会保留。

用法:

db.users.update({"name":"juan"},{$push:{"book":{"$each":["express","mongo"],$slice:-10}}})

$sort:

说明:排序。

用法:db.users.update({"name":"juan"},{$push:{"like":{$each:[{"name":"node"},{"name":"mongo"}],$slice:-3,$sort:{"name":1}}}})

4.$

说明:位置或者定位操作符。

用法:1.知道修改的数组下标:

db.users.update({"name":"juan"},{"$set":{"like.0.reader":"ljj"}})

2.不知道修改的数组下标:

db.users.update({"like.reader":"juan"},{"$set":{"like.$.reader":"ljj"}})

5.$pop && $pull

说明:$pop从数组任何一端删除元素。$pull会将所有匹配的文档删除,而不是一个。

$pop用法:

1.从数组末尾删除一个:db.users.update({"name":"juan"},{"$pop":{"book":1}})

2.从数组头部删除一个:db.users.update({"name":"juan"},{"$pop":{"book":-1}})

$pull用法:

db.users.update({"name":"juan"},{"$pull":{"book":"node"}})

6.$ne & $addToSet

说明:保证数组内的元素不会重复。

$ne用法:db.users.update({"book":{"$ne":"cn"}},{$push:{"book":"cn"}})

$addToSet用法:db.users.update({"name":"juan"},{$addToSet:{"book":"express"}})

$each

说明:$sddToSet和$each组合起来,可以添加多个不同的值。

用法:db.users.update({"name":"juan"},{$addToSet:{"book":{$each:["express","node"]}}})

时间: 2024-08-10 21:20:46

mongodb修改器的相关文章

MongoDB修改器的使用1

为什么要使用修改器?     通常我们只会修改文档的一部分,这时候更新整个文档就显得很麻烦,通常是通过原子性的更新修改器来完成. 1."$set"修改器    "$set"用来指定某个字段,如果不存在,则创建.这对部分更新或者添加来说就非常方便了. 如:  step1:往users数据库长如一条数据,通过JavaScript来完成:    var logs={name:"joe",age:30,sex:"female",loc

mongodb修改器(3)

1.更新 db.persons.update({name:"caohui"},{id:2});只更新一条,直接替换更新 db.persons.update({name:"caohui"},{id:2},true);只更新一条,直接替换更新,如果不存在则insert 2.全量更新 db.persons.update({name:"caohui"},{$set:{id:2}},false,true);全量局部更新 3.$set           {

MongoDB修改器的使用2

1."$inc"的使用 主要用来增加数值,比如网站的访问量,点击量,流量等 1 db.games.insert({game:"pinball",user:"joe"}) 2 db.games.find() 3 db.games.update({"game":"pinball","user":"joe"},{"$inc":{"score&q

Mongodb嵌套文档的修改-利用数组修改器更新数据

初学mongodb的可能和我一样有个疑问,mongodb是文档型的,那么如果一个文档嵌套另外一个文档,如果对这个嵌套文档进行增删改查呢. 就像如下这样:,如何对auther里面的name进行增删改查呢?这篇博客我们一起来看一下. 这里要用到几个修改器:$push,$pop,$pull 首先增加一个name: db.myFirstCollection.update({_id:1},{$push:{"auther":{"name":1}}}) 删除最后一个值,若要删除第

【MongoDB学习笔记8】深入MongoDB的更新(update)操作:修改器$set

MongoDB中文档存入数据库后用update方法更新文档,update方法有两个参数,例如 update(args1,args2) args1是指查询文档的条件: args2是指对查询到的文档进行什么样的修改: 一.文档替换 > joe1= db.post.findOne({"age":20}) {         "_id" :  ObjectId("54a530c3ff0df3732bac1680"),         "i

MongoDB数组修改器更新数据

MongoDB数组修改器更新数据 2013-04-22 10:20:40      我来说两句    来源:姜志福 的BLOG    收藏  我要投稿 MongoDB数组修改器更新数据 这里,我们将了解一下数组修改器.数组,是我们经常看到和使用到的且非常有用的数据结构:它不仅可以通过索进行引用,还可以作为集合来使用.数组修改器,顾名思义,它是用来修改数组的,而不能用来修改整数或者字符串.数组修改器不多,就那么几个,但熟练掌握它后,将给我们带来非常方便的操作.下面,我们来了解一下: > db.us

mongodb的修改器

在mongodb中通常文档只会有一部分要更新,利用原子的更新修改器,可以做到只更新文档的一部分键值,而且更新极为高效,更新修改器是种特殊的键,用来指定复杂的更新操作,比如调整.增加.或者删除键,还可以操作数组和内嵌文档.增加.修改或删除键的时候,应该使用$修改器.要把"foo"的值设备"bar",常见的错误做法如下: db.coll.update(criteria,{"foo":"bar"}) 这种情况是不对的,实际上这种做法

MongoDB数组修改器更新数据(转)

MongoDB数组修改器更新数据 这里,我们将了解一下数组修改器.数组,是我们经常看到和使用到的且非常有用的数据结构:它不仅可以通过索进行引用,还可以作为集合来使用.数组修改器,顾名思义,它是用来修改数组的,而不能用来修改整数或者字符串.数组修改器不多,就那么几个,但熟练掌握它后,将给我们带来非常方便的操作.下面,我们来了解一下: > db.user.findOne() { "_id" : ObjectId("4ffcb2ed65282ea95f7e3304"

MongoDB之修改器

MongoDB之修改器 $set  简单粗暴  {name: valuel} 直接将key对应的值赋值给value. db.xxoo.insert({}, {set: {key: value}}) # 相当于python中的dict['name'] = value $unset  简单粗暴的删除字段 {$unset: {name: 1}} # 相当于python中的del dict['name'] 0 原文地址:https://www.cnblogs.com/ZN-225/p/10174585.