Mongodb update 修改器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wngzhem/article/details/79964326

修改器(update modifier)

通常文档只需要有一部分要更新
更新修改

键名 实例 说明 备注
$set db.c.update({},{“$set”:{“key”:”newString”}}) 修改值,键没有则创建 可以修改键值的类型
$inc db.c.update({},{“$inc”:{“key”:1}}) 修改增加/减少已有键的值,键不存在就创建一个 只能用于 整型,长整型,双精度浮点,其他值会失败
$push db.c.update({},{“$push”:{“key”:{‘name’:’zhe’,’content’:’content post’}}}) 末尾添加一个数组,键没有则创建新数组 数组专用
$each db.c.update({},{“$push”:{“key”:{“$each”:[1,2,3,4]}}}) 通过一次“$push“操作,添加多个值 数组专用,$push的子操作符
$slice db.c.update({},{“$push”:{“key”:{“$each”:[1,2,3,4],”$slice”:-10}}}) 限制数组包含的元素数 数组专用,$slice值的值 必须是负数,截取最后n个元素
$sort db.c.update({},{
$push”:{“key”:{“$each”:[{‘age’:1},{‘age’:3},{‘age’:6},{‘age’:11}],
$slice”:-10,
$sort”:{“age”:-1}
}}})
在slice元素前排序 1 从大到小
$ne db.c.update({“users”:”$ne”:’zhe’},{
$push”:{“users”:”zhe”}})
数组有‘zhe‘元素 不添加 确保数组元素的唯一性
$addToSet db.c.update({“_id”:ObjectId},
{“$addToSet”:{“users”:”zhe”}})
数组有‘zhe‘元素 不添加 确保数组元素的唯一性
$pop db.c.update({“_id”:ObjectId},
{“$pop”:{“users”:1}})
删除1个元素 -1 为负数从头部删除1个
$pull db.c.update({“_id”:ObjectId},
{“$pull”:{“users”:”name”}})
删除匹配元素
$setOnInsert db.c.update({“_id”:ObjectId},
{“$setOnInsert”:{“createAt”:new Date()}})
更新后锁定 createAt 字段

官网相关文档

基于位置的数组修改器

在不预先查询,很难确定要修改数组的下标
“$“ 用来定位文档以匹配的数组元素
定位福指更新第一个匹配的元素

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页