Mongodb update 修改器

标签: mongodb
5人阅读 评论(0) 收藏 举报
分类:

修改器(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 字段

基于位置的数组修改器

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

查看评论

mongodb_修改器($inc/$set/$unset/$push/$pop/upsert/$rename)-转载补充

mongodb_修改器($inc/$set/$unset/$push/$pop/upsert......) 对于文档的更新除替换外,针对某个或多个文档只需要部分更新可使用原子的更新修改器,能够高效的...
  • dingsai88
  • dingsai88
  • 2015-01-28 12:08:47
  • 548

Mongodb修改器

Mongodb修改器
  • nohaoye
  • nohaoye
  • 2016-07-29 13:53:46
  • 3485

mongoDB修改器之$set

mongoDB中如果文档只更新一部分,通常使用修改器,该操作是原子的,更新速度快,极为有效。 更新修改器是一种特殊的键,用来指定复杂的更新操作,比如调整、增加或者删除键,还可能是操作数组或者内嵌...
  • LockyMeng
  • LockyMeng
  • 2014-12-31 22:57:18
  • 1744

Mongodb修改器的使用

【3】查询文档$ne和$push的联合使用 【4】$addToSet 避免重复 【5】$addToSet和$each 【5】$pop...
  • u011538954
  • u011538954
  • 2016-10-10 17:30:58
  • 531

spring mongodb修改器—$set、$unset、$inc

spring、mongodb、修改器、$set、$unset、$inc
  • niclascage
  • niclascage
  • 2015-07-22 10:18:19
  • 2958

MongoDB小结05 - update【$set & $unset】

用$set指定一个键的值,如果不存在,就创建它。这对更新模式或者增加用户定义很有帮助。 db.user.insert({"name":"codingwhy.com"}) 此用户现在只有姓名信息,现...
  • snails_zx
  • snails_zx
  • 2015-11-16 11:25:10
  • 15963

nodejs操作mongodb实现增删改查

  • 2014年10月10日 11:40
  • 2.59MB
  • 下载

Mongodb数据更新命令(update、save)

Mongodb更新有两个命令:update、save。 1.1update命令 update命令格式: db.collection.update(criteria,objNew,up...
  • wenwen360360
  • wenwen360360
  • 2017-10-25 11:22:23
  • 1809

mongodb修改器:

$inc 用来增加或减少已有的键的键值((只能为满足要求的数字)),或者在键不存在的时候创建一个键。{"$inc":{"k1":±数字}} $set 1.修改器用来...
  • zhukangle
  • zhukangle
  • 2017-01-12 13:42:13
  • 198

mongodb:$each和$addToSet一次添加多个值

现在有个需求是管理员可以建立很多用户组,管理员可以将自己的客户批量移动到某个或多个组内进行管理.关联关系体现在每个客户信息内的gruoIDs键上,维护一个数组存储所属组的ID 1.批量将多用户移动到多...
  • dream20nn
  • dream20nn
  • 2016-05-03 17:17:07
  • 4031
    个人资料
    等级:
    访问量: 19万+
    积分: 1829
    排名: 2万+
    最新评论