①:增加计数:$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"}})
效果如下:
(从尾部删除)
(从头部删除)
(指定元素删除)
未完待续。。。。。。。。。。