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

 

转载于:https://www.cnblogs.com/anan/archive/2012/06/18/2553214.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值