mangoDB操作指令
studio 3T
更新或插入字段:
db.getCollection("data_379129").update({},{$set: {'connectedStatus':NumberInt(0),'connectedTime':null}},{multi:true})
- 字段类型判断
db.tb_name.find({"status":{$type:"double"}).count() //所有的status字段类型为Double类型的
db.tb_name.find({"status":{$type:1}).count() //所有status字段类型为Double类型的
以上两种方式均可以表示筛选Double类型的,在MongoDB中所有的字段值均为BSON类型实例,由于MongoDB的字段类型约束灵活,可以通过类型符号或别名进行筛选处理。
Type | Number | Alias | Notes |
---|---|---|---|
Double | 1 | “double” | |
String | 2 | “string” | |
Object | 3 | “object” | |
Array | 4 | “array” | |
Binary data | 5 | “binData” | |
Undefined | 6 | “undefined” | Deprecated. |
ObjectId | 7 | “objectId” | |
Boolean | 8 | “bool” | |
Date | 9 | “date” | |
Null | 10 | “null” | |
Regular Expression | 11 | “regex” | |
DBPointer | 12 | “dbPointer” | Deprecated. |
JavaScript | 13 | “javascript” | |
Symbol | 14 | “symbol” | Deprecated. |
JavaScript (with scope) | 15 | “javascriptWithScope” | |
32-bit integer | 16 | “int” | |
Timestamp | 17 | “timestamp” | |
64-bit integer | 18 | “long” | |
Decimal128 | 19 | “decimal” New in version 3.4. | |
Min key | -1 | “minKey” | |
Max key | 127 | “maxKey” |
- 字段类型处理
场景:将某个状态值进行位运算($bit)
修改订单状态,此时发现会偶发报错"Cannot apply $bit to a value of non-integral type._id: ObjectId('5987f81ba693c552e3eaa088') has the field status of non-integer type double"
,即正常应该为int,但在shell控制台设置int类型的数字时应使用NumberInt(10),否则会被作为Double类型存储
- 数据类型批量转换:
db.tb_name.find({"status":{$type:1}}).forEach(function(x){x.status=NumberInt(x.status);db.tb_name.save(x)})
- $bit 位运算的使用
db.tb_name.update({"_id" : ObjectId("5987f81ba693c552e3eaa088")},{$bit:{"status":{or:NumberInt(19)}}})
4、
字段类型判断语法
db.tb_name.find({"status":{$type:"double"}).count() //所有的status字段类型为Double类型的
db.tb_name.find({"status":{$type:1}).count() //所有status字段类型为Double类型的
5、数据类型批量转换
(double转为int32):
db.tb_name.find({"status":{$type:1}}).forEach(function(x){x.status=NumberInt(x.status);db.tb_name.save(x)})
(string转为array):
db.log.find({"record":{$type:2}}).forEach(function(x){x.record=Array(x.record);db.log.save(x)})
mangoDB操作指令的更多相关文章
- linux常用操作指令
Linux常用操作指令: 常用指令 ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(a ...
- ARM指令集——条件执行、内存操作指令、跳转指令
ARM 汇编指令条件执行 在ARM模式下,任何一条数据处理指令可以选择是否根据操作的结果来更新CPSR寄存器中的ALU状态标志位.在数据处理指令中使用S后缀来实现该功能. 不要在CMP,CMN,TST ...
- 汇编实现: C库常见函数,串操作指令作用
目录 汇编实现: C库常见函数 一丶汇编实现Strncpy拷贝函数 二丶loads实现Strlen操作. 三丶stos的作用 汇编实现: C库常见函数 一丶汇编实现Strncpy拷贝函数 void _ ...
- 深入理解JVM(1)——栈和局部变量操作指令
将常量压入栈的指令 aconst_null 将null对象引用压入栈iconst_m1 将int类型常量-1压入栈iconst_0 将int类型常量0压入栈iconst_1 将int类型常量1压入栈i ...
- 【转】Reflector、reflexil、De4Dot、IL相关操作指令合集
PS:CTRL+F 输入你需要的内容,可以快速查找页面上的内容. 名称 说明 Add 将两个值相加并将结果推送到计算堆栈上. Add.Ovf 将两个整数相加,执行溢出检查,并且将结果推送到计算堆栈上. ...
- 汇编语言--微机CPU的指令系统(五)(字符串操作指令)
(11)字符串操作指令 字符串操作指令的实质是对一片连续存储单元进行处理,这片存储单元是由隐含指针DS:SI或ES:DI来指定的.字符串操作指令可对内存单元按字节.字或双字进行处理,并能根据操作对象的 ...
- Docker下操作指令
Docker下操作指令 以mysql为例 1.搜索镜像: #docker search mysql 2.拉取镜像 #docker pull mysql:5.7 3.加载镜像并绑定端口: #docker ...
- python文件操作指令
原文地址:http://www.cnblogs.com/rollenholt/archive/2012/04/23/2466179.html 常用的文件操作指令: python中对文件.文件夹(文件操 ...
- DOM操作指令整理
DOM操作指令整理: (1) 创建新节点: createDocumentFragment() 创建一个DOM片段 creatElement() 创建一个具体的元素 creatTextNode() 创建 ...
- git操作指令,以及常规git代码操作
安装git后操作指令如下:可以查阅git安装使用操作指南详情git安装使用操作图示详情.note 线上可参考指南:http://www.bootcss.com/p/git-guide/ 所有操作在 ...
随机推荐
- 搭建一个文件存储服务器minio,实现文件存储
搭建一个文件存储服务器minio,实现文件存储 Minio是一个开源的.自托管的对象存储服务器,它提供了类似于云存储服务的功能.你可以使用Minio搭建自己的私有云存储解决方案,或者作为公共存储服务的 ...
- vue组件传参props
传参格式,将需要传的参数以属性方式写在组件标签上 //组件标签 <zu a='参数一' b='参数b'></zu> 接收格式,在组件内 //props属性接收参数 props: ...
- ChatGPT生成测试用例的最佳实践(一)
前面介绍的案例主要展示了ChatGPT在功能.安全和性能测试用例生成方面的应用和成果.通过ChatGPT生成测试用例,测试团队不仅可以提升工作效率,还可以加快测试工作的速度,尽早发现被测系统中的问题. ...
- [OS] 计算机资源虚拟化技术
1 定义:计算机资源虚拟化 服务器虚拟化主要通过软件技术将物理服务器的硬件资源抽象化,创建多个独立的虚拟服务器环境. 2 虚拟化技术方向 以下是一些常见的服务器虚拟化方式和工具: 基于hypervis ...
- 腾讯云对象存储 COS 荣获对象存储领导力奖!!!
亚太内容分发大会暨 CDN 峰会一直致力于推动 CDN 产业深度融合发展和市场普及,现已成为亚太地区影响力最大的内容分发网络盛会. 十年来,在以腾讯云.阿里云.网宿科技等亚太 CDN 产业联盟成员孜孜 ...
- 有关终端Github无法访问,connection timed out:443等问题
有关终端Github无法访问,connection timed out:443等问题 SSL_connect: Operation timed out in connection to github. ...
- 使用 Web Compiler 2022+
使用 Web Compiler 2022+ Web Compiler 2022+ for Visual Studio 2022 Web Compiler for Visual Studio 2019 ...
- 中电资讯 - 一路“标”升,喜迎Q3开门红
Q2收获满满,Q3精彩再启! 近日,中电金信多项业务取得新进展 接连中标多个项目 中电金信数字科技集团旗下优智汇咨询中标浙江民泰商业银行信息科技战略发展规划(2022-2025)项目.优智汇将根据民泰 ...
- Linux系统手动安装Firefox浏览器
大多数Linux发行版都以Firefox作为默认的浏览器,并可以轻松地从软件库中安装.例如:Debian/Ubuntu: sudo apt-get install firefoxFedora: sud ...
- error C2589: “(”:“::”右边的非法标记错误的处理
问题:error C2589: "(":"::"右边的非法标记错误的处理 标准库在<algorithm>头中定义了两个模板函数std::min() ...