• MongoDB update相关修改器命令


    update相关修改器命令
    $set:用来指定一个键值对,如果存在就进行修改,不存在就添加
    db.user.update({name:"hello"},{$set:{field:value}})

    $inc:指定对应的键值进行数字上的加减操作,只针对值为数值的键有效
    db.user.update({name:"hello"},{$inc:{age:2}})

    $unset:删除指定的键
    db.user.update({name:"hello"},{$unset:{field:1}})

    $push:追加或创建新的数组元素
    db.user.update({name:"hello"},{$push:{"hobby":"football"}})
    之前文档中不存在数组字段就创建,存在就添加football元素
    如果hobby存在但不是数组类型,会报错Cannot apply $push/$pushAll modifier to non-array
    push操作不会检查数组中元素是否重复,如果需要将不重复的数据加入数组,需要使用$addToSet

    $addToSet:指定数组列中存在此元素就不操作,不存在就添加
    db.user.update({name:"hello"},{$addToSet:{"hobby":"football"}})

    $pushAll:用法和push类似,可以批量添加数组元素到指定字段
    db.user.update({name:"hello"},{$pushAll:{"hobby":["football","book"]}})

    $pop:从指定的数组字段删除一个值,1删除最后一个值,即最数组最右边的,-1删除第一个元素,最左边的
    db.user.update({name:"hello"},{$pop:{"hobby":1}}),以上例为例则hobby中book被删

    $pull:删除一个指定的数值
    db.user.update({name:"hello"},{$pull:{"hobby":"book"}})
    删除hobby中的book元素

    $pullAll:一次性删除多个指定的值
    db.user.update({name:"hello"},{$pull:{"hobby":["book","footbook"]}})

    $定位器
    如有文档如下:
    {name:"xiaowang",books:[{"type":"js","publish":2017},
    {"type":"mongodb","publish":2017},
    {"type":"mongodb","publish":2016}]}
    把type为mongodb的文档都加上一个作者名,就可以使用如下命令
    db.user.update({"books.type":"mongodb"},{$set:{"books.$.author":"iaknehc"}})

  • 相关阅读:
    wordpress程序打开太慢的解决方案(一步搞定)
    Emeditor代码编辑器常见的正则表达式总结
    网站关键词排名突然消失的原因正在努力侦破
    如何禁止百度对网站进行转码
    【web前端开发】浏览器兼容性处理大全
    导航悬浮于顶部代码学习
    用最简单的代码写出banner图轮播效果
    这段时间大量网站被k的原因分析
    Python的lambda学习
    随机数生成验证码
  • 原文地址:https://www.cnblogs.com/iaknehc/p/6414609.html
Copyright © 2020-2023  润新知