一、定义

$mul操作符用一个数字乘以一个操作符,指定一个$mul操作符,使用一下原型:

{ $mul: { field: <number> } }

要更新的字段必须包含一个数字值;

使用点号指定一个内嵌文档或数组字段;

二、特性

如果指定的字段在文档中不存在,$mul操作符创建字段并且设置值为0作为乘数;

$mul操作符在单个文档中是原子性操作符;

混合数值类型(32位整数、64位整数、浮点)的乘法可能导致数字类型的转换。对于具有混合数值类型值的乘法,以下类型转换规则适用:

32-bit Integer 64-bit Integer Float
32-bit Integer 32-bit or 64-bit Integer 64-bit Integer Float
64-bit Integer 64-bit Integer 64-bit Integer Float
Float Float Float Float
db.products.update({ _id: 1 },{ $mul: { price: 1.25 } }
)

三、例子:

乘以一个字段的值:

考虑如下的products集合文档

{ _id: 1, item: "ABC", price: 10.99 }

如下集合文档使用db.collection.update()更新文档,使用$mul操作符乘以字段price字段的值和指定的1.25

db.products.update({ _id: 1 },{ $mul: { price: 1.25 } }
)

操作的结果是:

{ _id: 1, item: "ABC", price: 13.7375 }

$mul操作符应用到一个不存在的字段上:

考虑如下的products集合文档:

{ _id: 2,  item: "Unknown" }

如下操作使用指定的值100乘以一个不存在的字段:

db.products.update({ _id: 2 },{ $mul: { price: NumberLong(100) } }
)

执行的结果是:

{ "_id" : 2, "item" : "Unknown", "price" : NumberLong(0) }

乘以混合数据类型:

考虑如下的products集合文档:

{ _id: 3,  item: "XYZ", price: NumberLong(10) }

如下使用$mul操作符将NumberInt(5)和NumberLong(10)相乘,

db.products.update({ _id: 3 },{ $mul: { price: NumberInt(5) } }
)

得到的结果是:

{ "_id" : 3, "item" : "XYZ", "price" : NumberLong(50) }

Mongodb字段更新$mul操作符相关推荐

  1. mongodb 字段检索_如何在MongoDB中创建,检索,更新和删除记录

    mongodb 字段检索 介绍 (Introduction) MongoDB is a free and open-source NoSQL document database used common ...

  2. MongoDB系列4——查询操作符

    查询和计划操作符 文章目录 查询和计划操作符 一.评价查询操作符 1.使用`$mod`进行模运算查询 2.使用`$regex`进行模糊查询 3.使用`$text`对有`text`索引的字段进行模糊查询 ...

  3. mongodb 字段出现次数_MongoDB数据库

    内容回顾 Xpath选择器 不要求记忆,只要混个眼熟即可 基于openpyxl模块爬取豆瓣电影 单页爬取 多页爬取 1.校验请求头里面是否有User-Agent参数 请求头里面加上即可 2.限制IP规 ...

  4. mongodb$pull数组更新操作符

    mycode: db.person.insert([ {name:'zs', books:[{name:'html', price:66}, {name:'js', price:88}], tags: ...

  5. Mongodb字段更新操作$inc

    一.使用$inc操作符将一个字段的值增加或者减少的格式是: { $inc: { <field1>: <amount1>, <field2>: <amount2 ...

  6. Mongodb更新数组$push操作符

    一.$push操作符添加指定的值到数组中,$push操作符有如下的格式: { $push: { <field1>: <value1>, ... } } 指定一个 <fie ...

  7. mysql ef 随机排序_EFCore+Mysql倉儲層建設(分頁、多字段排序、部分字段更新)

    前沿 園子里已有挺多博文介紹了EFCore+Mysql/MSSql如何進行使用,但實際開發不會把EF層放在Web層混合起來,需要多個項目配合結構清晰的進行分層工作,本文根據個人實踐經驗總結將各個項目進 ...

  8. EFCore+Mysql仓储层建设(分页、多字段排序、部分字段更新)

    前沿 园子里已有挺多博文介绍了EFCore+Mysql/MSSql如何进行使用,但实际开发不会把EF层放在Web层混合起来,需要多个项目配合结构清晰的进行分层工作,本文根据个人实践经验总结将各个项目进 ...

  9. MongoDB 字段拼接 $concat(aggregation)

    $concat 拼接字符串操作,返回拼接后的字符串.语法格式如下: { $concat: [ <expression1>, <expression2>, ... ] } 参数可 ...

最新文章

  1. CentOS 6安装DHCP
  2. import win32api 安装pip install pypiwin32
  3. 一步一步学python爬虫_初学Python之爬虫的简单入门
  4. python中的[-1]、[:-1]、[::-1]、[n::-1]
  5. 没有工作经验找it_校招和社招有什么区别?没有工作经验,如何找工作?
  6. ajax请求携带tooken_9 HTMLJS等前端知识系列之Ajax post请求带有token向Django请求
  7. 做购物车系统时利用到得几个存储过程
  8. python出现—with the features you requested: lxml. Do you need to install a parser library?
  9. java循环while之等差数列均值_java基础_while 循环语句的定义及用法
  10. IT项目管理之第6章 项目成本管理习题之案例分析汇总
  11. python画名侦探柯南_基于flask的可视化动漫分析网站【python入门必学】
  12. 阿里云银行卡验证四要素
  13. 一起探索云服务之云数据库
  14. 微型计算机显卡必须插在主板的,花小钱办大事 不同型号N卡组建SLI系统
  15. 微信小程序|icon列表跳转不同界面
  16. C# .NET想要另存一个项目,sln文件丢了怎么办
  17. 利用新浪微博来控制电脑
  18. 链家网页爬虫_爬虫实战1-----链家二手房信息爬取
  19. 聚合签名、门限签名、Multisigs 和多签名
  20. python在新的图片窗口显示图片(图像)

热门文章

  1. 有关计算机维修的对话,实用英语短对话:修电脑
  2. 计算机硬件资讯app,怎么看电脑硬件是不是新的 有什么软件能检测吗?
  3. 小米升级android版本,安卓12最新版发布:小米OV多款机型抢先升级!
  4. 冠科美博纳斯达克上市:作价9亿美元 路演PPT曝光
  5. java后台过滤特殊表情_java过滤表情图标
  6. 移动云计算服务端技术-课程总结1
  7. java rcp中lable设置透明_RCP界面美化技术(转)
  8. java微信退款接口demo_微信公众平台开发(6) 微信退款接口
  9. 数字地和模拟地的区别
  10. 移动盒子——双向链表