• mongodb修改器


    1.$set & $unset

    说明:$set用来制定一个字段的值。如果这个字段不存在,则创建它。$unset可以把存在的键完全删除。

    用法($set):1.无age字段(增加键值)

                          db.users.update({"name":"juan"},{$set:{"age":23}})

                        2.修改age字段(修改键值,可以修改其值的类型)

                          db.users.update({"name":"juan"},{$set:{"age":"23"}})

     用法($unset):1. 删除键值

                              db.users.update({"name":"juan"},{$unset:{age:1}})

    2.$inc

    说明:$inc用来增加已有键的值,或者该键不存在那就创建一个。

    注意:$inc的值必须为数字。

    用法:db.users.update({"name":"juan"},{$inc:{"age":23}})

    3.$push

    $each:

    说明:使用$each子操作符,可以通过一次$push操作添加多个值。

    用法:db.users.update({"name":"juan"},{$push:{"book":{"$each":["node","express"]}}})

    $slice:

    说明:$slice和$push组合在一起使用,这样就可以保证数组不会超出设定好的最大长度。

    注意:$slice的值必须是负整数。如果$slice的值为-10,数组的元素数量大于10,那么只有最后10个元素会保留。

    用法:

    db.users.update({"name":"juan"},{$push:{"book":{"$each":["express","mongo"],$slice:-10}}})

    $sort:

    说明:排序。

    用法:db.users.update({"name":"juan"},{$push:{"like":{$each:[{"name":"node"},{"name":"mongo"}],$slice:-3,$sort:{"name":1}}}})

    4.$

    说明:位置或者定位操作符。

    用法:1.知道修改的数组下标:

              db.users.update({"name":"juan"},{"$set":{"like.0.reader":"ljj"}})

            2.不知道修改的数组下标:

              db.users.update({"like.reader":"juan"},{"$set":{"like.$.reader":"ljj"}})

    5.$pop && $pull

    说明:$pop从数组任何一端删除元素。$pull会将所有匹配的文档删除,而不是一个。

    $pop用法:

    1.从数组末尾删除一个:db.users.update({"name":"juan"},{"$pop":{"book":1}})

     2.从数组头部删除一个:db.users.update({"name":"juan"},{"$pop":{"book":-1}})

    $pull用法:

               db.users.update({"name":"juan"},{"$pull":{"book":"node"}})

    6.$ne & $addToSet

    说明:保证数组内的元素不会重复。

    $ne用法:db.users.update({"book":{"$ne":"cn"}},{$push:{"book":"cn"}})

    $addToSet用法:db.users.update({"name":"juan"},{$addToSet:{"book":"express"}})

    $each

    说明:$sddToSet和$each组合起来,可以添加多个不同的值。

    用法:db.users.update({"name":"juan"},{$addToSet:{"book":{$each:["express","node"]}}})

  • 相关阅读:
    HDU 3697贪心
    HDU 3226 背包
    numpy_2nd 新建矩阵的五种方法 array zeros empty arange().reshape()
    numpy_1st 属性 ndim,shape,size
    CV学习笔记第二课(上)
    33. 搜索旋转排序数组 二分法
    35. 搜索插入位置 今天就是二分法专场
    34.在排序数组中查找元素的第一个和最后一个位置 二分法
    CV第三课
    CV第二课(下)
  • 原文地址:https://www.cnblogs.com/juanjuanBlog/p/5165702.html
Copyright © 2020-2023  润新知