zoukankan      html  css  js  c++  java
  • 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"]}}})

  • 相关阅读:
    Unity3D 5.3 新版AssetBundle使用方案及策略
    解构C#游戏框架uFrame兼谈游戏架构设计
    漫谈C#编程语言在游戏领域的应用
    TDD在Unity3D游戏项目开发中的实践
    趣说游戏AI开发:曼哈顿街角的A*算法
    “为什么DirectX里表示三维坐标要建一个4*4的矩阵?”
    趣说游戏AI开发:对状态机的褒扬和批判
    使用TypeScript拓展你自己的VS Code!
    MVP社区巡讲-云端基础架构:12月5日北京站 12月12日上海站
    【转】Spring Boot干货系列:(一)优雅的入门篇
  • 原文地址:https://www.cnblogs.com/juanjuanBlog/p/5165702.html
Copyright © 2011-2022 走看看