zoukankan      html  css  js  c++  java
  • 修改器 $inc 增加和减少

    修改器  $inc

    用来增加已有键的值,或者 键不存在时 创建键。

    它 用来 专门 增加(或减少)数字的。

    $inc 只能用于 整数 、 长整数 或 双精度浮点数 , 修改其他类型 会失败报错,即使其他多种语言中能自动转换的类型 (如:null , 布尔 或 数字构成字符串),都是不行的。 报错字符串 如下:

    Modifier "$inc" allowed for numbers only

    比如我们要统计某个网站的访问量

    http://www.hao123.com/ 网站 访问量目前是 52 个。

    > url = { "url" : "www.hao123.com" , "pageviews" : 52 }
    "url" : "www.hao123.com""pageviews" : 52 }
    > db.analytics.insert(url)
    > db.analytics.find()
    "_id" : ObjectId("4fde916989834bfb0bd267a7"), "url" : "www.hao123.com""pagev
    iews
    " : 52 }

    这时候 有一个访问来了 用 $inc 自增修改器

    > db.analytics.update({"url" : "www.hao123.com"},
    ... {"$inc" : {"pageviews":1} } )
    > db.analytics.find()
    "_id" : ObjectId("4fde916989834bfb0bd267a7"), "url" : "www.hao123.com""pagev
    iews
    " : 53 }

    看到变成了 53 个,这时发现 有两个的 是自己的测试访问次数 ,想减掉  $inc 自增修改器 可以支持 负数 。

    > db.analytics.update({ "url" : "www.hao123.com"},
    ... {"$inc":{"pageviews":-2}})
    > db.analytics.find()
    "_id" : ObjectId("4fde916989834bfb0bd267a7"), "url" : "www.hao123.com""pagev
    iews
    " : 51 }

     看修改好了 变成 51了。

    使用修改器 注意点 :

    1.  "_id" 不能修改。 (整文档更新 是可以修改  "_id" 键的)

    2. 其他键 包含 唯一索引键 都是可以修改的。 

  • 相关阅读:
    Spiral Matrix II
    N-Queens
    Jump Game II
    js改变div高度
    Jenkins + testNg + maven 项目持续集成
    bootstrap做的导航
    bootstrap左侧边栏
    WEB-INF下jsp跳转
    jsp页面无法解析EL表达式
    springMVC和mybatis整合,jsp对时间进行格式化
  • 原文地址:https://www.cnblogs.com/anan/p/2553214.html
Copyright © 2011-2022 走看看