在MongoDB数据库中$inc的作用大致可以理解为自增和自减,类似于其C语言中count+=1或者count-=1。但是两者之间还是有很大的区别,这里我们不仔细探究。

使用格式:

{ $inc: { : , : , … } }

在一个数组或者内嵌文档中指定一个的时候可以使用点号

$inc可以接收正的和负的值

  • 如果指定的字段不存在则$inc操作符创建这个字段并且设置这个字段的值为指定的在值;

  • 使用$inc操作符的字段的值如果值为null则将会报异常;

  • $inc操作符是原子性的在单个文档中;

上代码:

这个实例是用Python +mongodb 实现的
首先在本地数据库创建一个集合:

db.pros.insert({"sku":"goods","count":10})
db.pros.find()


然后执行一段python的代码,对pros表执行count+2的操作

mongo.db.pros.update_one({"sku":"goods"},{"$inc":{"count":2}})

再查看pros 表中的数据变化

之后对pros表执行count — 6 的操作

mongo.db.pros.update_one({"sku":"goods"},{"$inc":{"count":-6}})

再查看pros 表中的数据变化

Mongodb中$inc自增,自减的操作相关推荐

  1. //变量在scala中没有自增自减的操作

    package scala.chapter18import scala.io.StdIn object Test2 {def main(args: Array[String]): Unit = {// ...

  2. SpringBoot+mongoDB实现id自增

    这段时间给朋友做了一个微信小程序,顺便练习一下spring boot,虽然项目使用的是JPA+MySQL,但是好奇尝试了一下MongoDB实现自增ID,虽然MongoDB很少有自增ID的需求(在分布式 ...

  3. java基础(二) 自增自减与贪心规则

    戳上面的蓝字关注我们哦! 精彩内容 精选java等全套视频教程 精选java电子图书 大数据视频教程精选 java项目练习精选 引言   JDK中提供了自增运算符++,自减运算符--.这两个操作符各有 ...

  4. 第三天学习Java的笔记(自增自减,赋值,比较,逻辑,三元)

    自增自减运算符Demo06Operator.java /*自增运算符:++:自减运算符:--含义:让一个变量涨一个数字1,或者让一个变量降一个数字1使用格式:写在变量名称之前,或者写在变量名称之后.例 ...

  5. 关于printf()与自增自减运算符结和问题

    1.问题描述: #include<stdio.h> int main() {int i=3;printf("%d %d %d %d %d",i++,++i,++i,i+ ...

  6. c语言自增自减5运算符详解,巧用C语言中的自增自减运算符

    黄建琼 摘要:自增自减运算符在C语言的编程过程中经常用到,具有重要的作用,而灵活使用自增自减运算符则是个难点.该文从几个例子入手,观察运行的结果,对结果进行分析,最后得出结论.以期能使初学者避重就轻, ...

  7. 【学习笔记】mongoDB初步(一)MongoDB的安装和增删改查基本语法,使用和命令

    MongoDB适合储存大量关联性不强的数据. MongoDB中的数据以"库"-"集合"-"文档"-"字段"结构进行储 存 ...

  8. Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】

    java零基础入门到精通(2019版)[黑马程序员] 视频+资料:[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg   提取码:zjxs] &qu ...

  9. Mongodb 自动增长 自增id 实现

    Mongodb 自动增长 自增id 实现 首先创建一个自动增长id集合 ids >db.ids.save({name:"user", id:0}); 可以查看一下是否成功 & ...

  10. C++ 运算符重载(一) | 输入/输出,相等/不等,复合赋值,下标,自增/自减,成员访问运算符

    文章目录 输出运算符<< 输入运算符>> 相等/不等运算符 复合赋值运算符 下标运算符 自增/自减运算符 成员访问运算符 输出运算符<< 通常情况下,输出运算符的第 ...

最新文章

  1. 关于山东大学(威海)全向组海韵三队提交的 RT-Thread 技术报告中的若干疑点
  2. bnuoj 1068 比赛安排
  3. java 对象读写_java 对象输入输出流读写文件的操作实例
  4. ActiveMQ相关存储介绍
  5. Duilib学习笔记《04》— 窗体显示
  6. 【听歌】GDB入门教程之查看函数调用堆栈
  7. c语言linux下可用函数,[原创]linux下编码转换问题,C语言实现,使用iconv函数族68...
  8. live writer不能首行缩进的问题
  9. 网络适配器输入的IP地址 已经分配给另一个适配器
  10. Call to localhost/127.0.0.1:9000 failed on connection exception:java.net.ConnectException的解决方案
  11. 手机组态软件 APP监控台达PLC C#全套源代码,C#开发上位机手机APP
  12. 疟疾识别图像数据集(27000张图像,2类图像)
  13. 2D游戏知识点三、Unity生成Android手机apk程序
  14. MODERN ROBOTICS MECHANICS, PLANNING, AND CONTROL
  15. 电脑如何修改关闭显示器和休眠时间
  16. android内置sd卡挂载过程,Android获取机身存储、内置SD卡与外置TF卡路径
  17. stm32hal库应用笔记之 硬件I2C读写ZD24C64
  18. 新东方老师谈如何学英语
  19. 云服务器可以带网页吗,云服务器可以做网页吗
  20. 我的10年计算机之路

热门文章

  1. SpringBoot_日志-SpringBoot默认配
  2. mac 由于网络问题,您已断开与 windows 计算机的联接.,苹果电脑启用windows系统时连接不上无线网怎么处理?...
  3. Ribbon源码解析(一)
  4. python自动化测试脚本后端_基于 python 的接口自动化测试
  5. 管道无损检测python_武汉哪里有便携式X射线探伤机使用方法欢迎咨询
  6. Java基础IO流(五)RandomAccessFile
  7. 基于matplotlib的数据可视化 - 热图imshow
  8. Python 进程与线程小随笔
  9. 牛客网Wannafly模拟赛
  10. html js页面传参