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

  • 相关阅读:
    清北学堂总结(未完待续。。。。。。。)
    洛谷p3372 线段树模版
    SPFA模版
    线段树 洛谷 p1531 I hate it(I hate it too)
    01 背包找装满方案数 洛谷 p1164 小a点菜
    01 找最大剩余体积 洛谷1049 装箱问题
    洛谷 p1880 石子合并 区间dp
    石子合并 最大值
    清北学堂入学测试d
    HTML 标记 3 —— 框架
  • 原文地址:https://www.cnblogs.com/anan/p/2553214.html
Copyright © 2011-2022 走看看