Mongodb字段更新$mul操作符
一、定义
$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操作符相关推荐
- mongodb 字段检索_如何在MongoDB中创建,检索,更新和删除记录
mongodb 字段检索 介绍 (Introduction) MongoDB is a free and open-source NoSQL document database used common ...
- MongoDB系列4——查询操作符
查询和计划操作符 文章目录 查询和计划操作符 一.评价查询操作符 1.使用`$mod`进行模运算查询 2.使用`$regex`进行模糊查询 3.使用`$text`对有`text`索引的字段进行模糊查询 ...
- mongodb 字段出现次数_MongoDB数据库
内容回顾 Xpath选择器 不要求记忆,只要混个眼熟即可 基于openpyxl模块爬取豆瓣电影 单页爬取 多页爬取 1.校验请求头里面是否有User-Agent参数 请求头里面加上即可 2.限制IP规 ...
- mongodb$pull数组更新操作符
mycode: db.person.insert([ {name:'zs', books:[{name:'html', price:66}, {name:'js', price:88}], tags: ...
- Mongodb字段更新操作$inc
一.使用$inc操作符将一个字段的值增加或者减少的格式是: { $inc: { <field1>: <amount1>, <field2>: <amount2 ...
- Mongodb更新数组$push操作符
一.$push操作符添加指定的值到数组中,$push操作符有如下的格式: { $push: { <field1>: <value1>, ... } } 指定一个 <fie ...
- mysql ef 随机排序_EFCore+Mysql倉儲層建設(分頁、多字段排序、部分字段更新)
前沿 園子里已有挺多博文介紹了EFCore+Mysql/MSSql如何進行使用,但實際開發不會把EF層放在Web層混合起來,需要多個項目配合結構清晰的進行分層工作,本文根據個人實踐經驗總結將各個項目進 ...
- EFCore+Mysql仓储层建设(分页、多字段排序、部分字段更新)
前沿 园子里已有挺多博文介绍了EFCore+Mysql/MSSql如何进行使用,但实际开发不会把EF层放在Web层混合起来,需要多个项目配合结构清晰的进行分层工作,本文根据个人实践经验总结将各个项目进 ...
- MongoDB 字段拼接 $concat(aggregation)
$concat 拼接字符串操作,返回拼接后的字符串.语法格式如下: { $concat: [ <expression1>, <expression2>, ... ] } 参数可 ...
最新文章
- CentOS 6安装DHCP
- import win32api 安装pip install pypiwin32
- 一步一步学python爬虫_初学Python之爬虫的简单入门
- python中的[-1]、[:-1]、[::-1]、[n::-1]
- 没有工作经验找it_校招和社招有什么区别?没有工作经验,如何找工作?
- ajax请求携带tooken_9 HTMLJS等前端知识系列之Ajax post请求带有token向Django请求
- 做购物车系统时利用到得几个存储过程
- python出现—with the features you requested: lxml. Do you need to install a parser library?
- java循环while之等差数列均值_java基础_while 循环语句的定义及用法
- IT项目管理之第6章 项目成本管理习题之案例分析汇总
- python画名侦探柯南_基于flask的可视化动漫分析网站【python入门必学】
- 阿里云银行卡验证四要素
- 一起探索云服务之云数据库
- 微型计算机显卡必须插在主板的,花小钱办大事 不同型号N卡组建SLI系统
- 微信小程序|icon列表跳转不同界面
- C# .NET想要另存一个项目,sln文件丢了怎么办
- 利用新浪微博来控制电脑
- 链家网页爬虫_爬虫实战1-----链家二手房信息爬取
- 聚合签名、门限签名、Multisigs 和多签名
- python在新的图片窗口显示图片(图像)
热门文章
- 有关计算机维修的对话,实用英语短对话:修电脑
- 计算机硬件资讯app,怎么看电脑硬件是不是新的 有什么软件能检测吗?
- 小米升级android版本,安卓12最新版发布:小米OV多款机型抢先升级!
- 冠科美博纳斯达克上市:作价9亿美元 路演PPT曝光
- java后台过滤特殊表情_java过滤表情图标
- 移动云计算服务端技术-课程总结1
- java rcp中lable设置透明_RCP界面美化技术(转)
- java微信退款接口demo_微信公众平台开发(6) 微信退款接口
- 数字地和模拟地的区别
- 移动盒子——双向链表