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. 其他键 包含 唯一索引键 都是可以修改的。 

  • 相关阅读:
    产品经理必备工具之一:Axure产品原型设计
    解决UserDefault读取慢的问题
    MAC常用快捷键
    asi网络请求中遇到的一些问题的解决
    oc运行时runtime
    图片拉伸,气泡式
    ios nil、NULL和NSNull 的使用
    错误:linker command failed with exit code 1 (use v to see invocation)
    ios url 编码和解码
    SQL重置数据表id
  • 原文地址:https://www.cnblogs.com/anan/p/2553214.html
Copyright © 2011-2022 走看看