文章标题
来源:互联网 发布:嘉靖皇帝知乎 编辑:程序博客网 时间:2024/06/04 17:29
8.mongo命令行中的数据类型
转载请保留原文链接: http://dashidan.com/article/mongodb/basic/mongo命令行中的数据类型.html
MongoDB采用BSON
数据类型, 比JSON
格式提供了更多的数据类型. 数据库驱动提供了本地方法支持这些数据类型, 并且mongo命令行也提供了一些帮助类来使用这些数据类型.
① Date
mongo命令行返回当前时间, 以字符串或者一个对象的形式.
- Date() 以字符串返回当前时间
var myDateString = Date();
显示当前日期字符串输入:myDateString
显示内容:Thu Oct 26 2017 17:26:35 GMT+0800 (中国标准时间)
查看变量类型输入:typeof myDateString
显示内容:string
* new Date() 返回以`ISODate()`包装的Date对象.* ISODate() 返回以`ISODate()`包装的Date对象.mongo命令行中`new Date()`和`ISODate()`都返回`Date`对象.输入:var myDate = new Date();var myDateInitUsingISODateWrapper = ISODate();myDatemyDateInitUsingISODateWrapper
显示:ISODate("2017-10-26T09:30:19.073Z")ISODate("2017-10-26T09:30:19.586Z")
用instanceof验证数据类型:myDate instanceof DatemyDateInitUsingISODateWrapper instanceof Date
显示:truetrue
② ObjectId
mongo命令行提供了ObjectId()
包装类来封装ObjectId
数据类型.
生成一个新的ObjectId,输入:
new ObjectId
显示:ObjectId("59f1ac932cacee0f03e35dc6")
③ NumberLong
mongo命令默认返回浮点数, 提供了NumberLong()
包装类来返回一个64位的整数.
例如:
NumberLong("2090845886852")
这个将定义一个64位整数, 而不是一个浮点数.写入long型整数:db.collection.insertOne( { _id: 10, calc: NumberLong("2090845886852") } )db.collection.updateOne( { _id: 10 }, { $set: { calc: NumberLong("2555555000000") } } )db.collection.updateOne( { _id: 10 }, { $inc: { calc: NumberLong(5) } } )
检验结果:db.collection.findOne( { _id: 10 } )
返回的文档对象:{ "_id" : 10, "calc" : NumberLong("2555555000005") }
如果采用`db.collection.updateOne( { _id: 10 }, { $inc: { calc: 5 } } )
2.查找修改结果db.collection.findOne( { _id: 10 } )
3.显示结果{ "_id" : 10, "calc" : 2555555000010 }
④ NumberInt
mongo命令默认所有的数字类型数字为64位浮点型, 提供了NumberInt()
构造函数来生成32位整数.
理论同NumberLong
.
⑤ NumberDecimal
mongo命令默认所有的数字类型数字为64位浮点型, 提供了NumberDecimal()
构造函数来指定128位浮点型十进制小数.
<h4>浮点数满足了绝大部分应用场景,不再额外介绍这个.可以参考原文.</h4>
⑥ mongo命令查看类型
mongo命令中可以通过instanceof
和typeof
操作符来查看数据类型.
mydoc._id instanceof ObjectId
显示true
###2.typeof`typeof`返回数据类型举个栗子, 查看`_id`属性的数据类型:typeof mydoc._id
<h4>这里返回`object`类型而不是`ObjectId`类型.</h4>
⑦ 参考文章
https://docs.mongodb.com/manual/core/shell-types/
⑧ 相关文章
MongoDB中文文档
阅读全文
0 0
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- JVM原理及调优
- RPC介绍
- iscroll 上拉刷新极简入门案例
- CentOS中配置PHP和Nginx环境变量
- 微服务系统中的服务发现机制
- 文章标题
- Mybatis-SqlSession执行过程说明
- Android stadio 插件推荐--ok gradle
- 快速排序
- Windows安装Anaconda无法创建开始菜单解决方法
- Mybatis插件原理
- <context-param>与<init-param>的区别
- JSON.parse()和JSON.stringify()
- Caffe中实现卷积的计算