mongo数据库之修改器的简单使用

①:增加计数:$inc(键如果不存在则新增)

# 语法:

db.stu.update({查询条件}, {"$inc": {"要增加计数的字段名": "要增加的数量值"}})


# 例:
db.stu.update({"_id": 1}, {"$inc": {"age": 1}})

效果如下 

(修改,值的类型必须为数字类型)

(新增) 

②:修改字段值:$set (如果字段不存在那么新增)

# 语法:

db.stu.update({查询条件}, {"$set": {"要修改的字段名": "修改后的值"}})


# 例:
db.stu.update({"_id": 1}, {"$set": {"name": "paul"}})

效果如下

(修改)

(新增) 

 

 ③:删除字段:$unset

# 语法:

db.stu.update({查询条件}, {"$unset": {"要删除的字段名": 1}})


# 例:
db.stu.update({"_id": 1}, {"$unset": {"sex": 1}})

效果如下

④:数组修改器:$push(字段不存在则新增)

# 语法:

db.stu.update({查询条件}, {"$push": {"数组对应字段名":"向数组中要添加的数据"}})


# 例:
db.stu.update({"_id": 1}, {"$push": {"hobby": "read"}})

 效果如下

⑤:数组操作器:$each(子操作符,配合$push使用)  ------一次性向数组中添加多个数据(如果指定的数组中只有一个元素,那么相当于没有使用$each)

# 语法:

db.stu.update({查询条件}, {"$push": {"数组对应字段名":{"$each":"向数组中要添加的数据集合"}}})


# 例:
db.stu.update({"_id": 1}, {"$push": {"hobby": {"$each":["read","game","sport"]}}})

效果如下:

⑥:数组操作器:$slice(子操作符,配合$push使用) ------限制指定的数组长度不超过指定值,如果超过指定值,只保留最后几个 

 $slice对应的值只能是负整数

# 语法:

db.stu.update({查询条件}, {"$push": {"数组对应字段名":{"$each":"向数组中要添加的数据集合"}}})


# 例:
 db.stu.update({"_id": 1}, {"$push": {"hobby": {"$each":["read","game","sport","cnb"], "$slice": -3}}})

效果如下:

 

⑦:不等于或不在...里面:$ne

1.不在....里面

# 语法:
db.stu.update({"被判断的数组名":{"$ne": "要被添加的值"}},{"$push":{"被判断的数组名":"要被添加的值"}})

# 例:
 db.stu.update({"hobby":{"$ne": "read"}},{"$push":{"hobby":"read"}})


2.不等于

#语法: db.stu.find({"字段名": {"$ne":"不等于的值"}})

db.stu.find({"_id":{"$ne": 1}})

效果如下:

1.判断如果read不在hobby里面那么就添加

2.查找_id不等于1的其他所有文档

 

⑧:如果不在.....里面就添加:$addToSet,会自动判断,和$ne的作用一样 

# 语法:
db.stu.update({"_id":1}, {"$addToSet":{"要被添加的数组名": "要添加的值"}})

#例:
db.stu.update({"_id":1}, {"$addToSet":{"hobby": "learn"}})

效果如下,显然这个添加要简单的多,同样其可以配合$each添加多个到数组中:

⑨: 删除数组中的元素的几种方法 $pop(从数组的两端删除), $pull(指定元素删除)

1 从元组的两端删除

语法:
db.stu.update({"_id":1}, {"$pop": {"数组名": 指定从哪端删除}})

#例:
从数组末尾删除
db.stu.update({"_id":1}, {"$pop": {"hobby":1}})
从数组头部删除
db.stu.update({"_id":1}, {"$pop": {"hobby":-1}})


2.指定元素删除

#语法:
db.stu.update({条件}, {"$pull": {"数组名": "要被删除的元素"}})

# 例

db.stu.update({"_id": 1}, {"$pull": {"hobby": "cnb"}})

效果如下:

(从尾部删除)

 

(从头部删除) 

 

(指定元素删除) 

 

 

未完待续。。。。。。。。。。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值