博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
修改器 $inc 增加和减少
阅读量:5082 次
发布时间:2019-06-13

本文共 1176 字,大约阅读时间需要 3 分钟。

修改器  $inc

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

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

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

Modifier 
"
$inc
" allowed 
for numbers only

 

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

网站 访问量目前是 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

你可能感兴趣的文章
Python编译错误总结
查看>>
URL编码与解码
查看>>
日常开发时遇到的一些坑(三)
查看>>
Eclipse 安装SVN插件
查看>>
深度学习
查看>>
TCP粘包问题及解决方案
查看>>
构建之法阅读笔记02
查看>>
添加按钮
查看>>
移动端页面开发适配 rem布局原理
查看>>
Ajax中文乱码问题解决方法(服务器端用servlet)
查看>>
会计电算化常考题目一
查看>>
阿里云服务器CentOS6.9安装Mysql
查看>>
剑指offer系列6:数值的整数次方
查看>>
js 过滤敏感词
查看>>
poj2752 Seek the Name, Seek the Fame
查看>>
软件开发和软件测试,我该如何选择?(蜗牛学院)
查看>>
基本封装方法
查看>>
bcb ole拖拽功能的实现
查看>>
生活大爆炸之何为光速
查看>>
bzoj 2456: mode【瞎搞】
查看>>