MongoDB 之 数据类型 最无聊! But 最有用! MongoDB - 3
MongoDB的新篇章开始啦 - 数据类型
https://www.cnblogs.com/xuzhaocai/p/8048177.html
一.MongoDB 之 丰富多彩的数据类型世界
首先我们要先了解一下MongoDB中有什么样的数据类型:
Object ID :Documents 自生成的 _id
String: 字符串,必须是utf-8
Boolean:布尔值,true 或者false (这里有坑哦~在我们大Python中 True False 首字母大写)
Integer:整数 (Int32 Int64 你们就知道有个Int就行了,一般我们用Int32)
Double:浮点数 (没有float类型,所有小数都是Double)
Arrays:数组或者列表,多个值存储到一个键 (list哦,大Python中的List哦)
Object:如果你学过Python的话,那么这个概念特别好理解,就是Python中的字典,这个数据类型就是字典
Null:空数据类型 , 一个特殊的概念,None Null
Timestamp:时间戳
Date:存储当前日期或时间unix时间格式 (我们一般不用这个Date类型,时间戳可以秒杀一切时间类型)
看着挺多的,但是真要是用的话,没那么复杂,很简单的哦
二.MongoDB 之 剖析MongoDB的数据类型
那么我们根据以上所说的数据类型(捡重点说,别整没用的)展开说明:
1.Object ID :
"_id" : ObjectId("5b151f8536409809ab2e6b26") #"5b151f85" 代指的是时间戳,这条数据的产生时间
#"" 代指某台机器的机器码,存储这条数据时的机器编号
#"09ab" 代指进程ID,多进程存储数据的时候,非常有用的
#"2e6b26" 代指计数器,这里要注意的是,计数器的数字可能会出现重复,不是唯一的
#以上四种标识符拼凑成世界上唯一的ObjectID
#只要是支持MongoDB的语言,都会有一个或多个方法,对ObjectID进行转换
#可以得到以上四种信息 #注意:这个类型是不可以被JSON序列化的
这是MongoDB生成的类似关系型DB表主键的唯一key,具体由24个字节组成:
0-8字节是时间戳,
9-14字节的机器标识符,表示MongoDB实例所在机器的不同;
15-18字节的进程id,表示相同机器的不同MongoDB进程。
19-24字节是计数器
2.String :
UTF-8字符串,记住是UTF-8字符串
3.Boolean :
true or false 这里首字母是小写的
4.Integer :
整数 (Int32 Int64 你们就知道有个Int就行了,一般我们用Int32)
5.Double :
浮点数 (MongoDB中没有float类型,所有小数都是Double)
6.Arrays :
{
"_id" : ObjectId("5b163830993ddc4cd4918ead"),
"name" : "LuffyCity",
"teacher" : [
"DragonFire",
"WuSir2B",
"Alex AGod"
]
}
数组或者列表,多个值存储到一个键 (list哦,大Python中的List哦
7.Object :
{
"_id" : ObjectId("5b163915993ddc4cd4918eaf"),
"name" : "LuffyCity",
"course" : {
"name" : "Python",
"price" : 19800
}
}
如果你学过Python的话,那么这个概念特别好理解,就是Python中的字典,这个数据类型就是字典
8.Null :
{
"_id" : ObjectId("5b163a0e993ddc4cd4918eb0"),
"name" : "LuffyCity",
"course" : null
}
空数据类型 , 一个特殊的概念,None Null
9.Timestamp :时间戳
{
"_id" : ObjectId("5b163bbf993ddc4cd4918eb3"),
"name" : "LuffyCity",
"date" : 1528183743111
}
10.Date :
{
"_id" : ObjectId("5b163ba1993ddc4cd4918eb2"),
"name" : "LuffyCity",
"date" : ISODate("2018-06-05T15:28:33.705+08:00")
}
存储当前日期或时间格式 (我们一般很少使用这个Date类型,因为时间戳可以秒杀一切时间类型)
数据类型就介绍到这里了,接下来我们就要学习一下在数据进行增删改查时,数据类型的特殊用法
最新文章
- 周末惊魂:因struts2 016 017 019漏洞被入侵,修复。
- ASP.NET WebForms MapPageRoute 路由配置
- Remove-Azureaccount (Can't get Azure credentials to stick in Powershel)
- 【读书笔记】iOS网络-三种错误
- 学习OpenCV——行人检测&;人脸检测(总算运行出来了)
- 七种css方式让一个容器水平垂直居中
- background和background-size
- STL_iterator迭代器(1)——迭代器的分类
- 二、linux文件系统之linux启动
- 关于ajax提交的公共接口的一大用处
- Jquery浅克隆与深克隆
- C++ 文件流的方式操作文件(一个简单的写入,读取)
- Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems(动态规划+矩阵快速幂)
- python_flask框架学习之路(1)
- Django之--模板加载图片
- namecheap域名设置Cloudflare为第三方DNS
- C#执行EXE程序
- vue 全局组件【原】
- SpringData Redis
- java测试感想
热门文章
- 在Ubuntu虚拟机上安装DVWA
- Daily Scrum NO.2
- Scrum Meeting NO.2
- Linux内核分析 实验一 ——by王玥
- Python 实现数据库更新脚本的生成
- 2017-2018 ACM-ICPC, Asia Daejeon Regional Contest F(递推)
- 洛谷P2633 Count on a tree(主席树,倍增LCA,树上差分)
- 自学Aruba1.2-WLAN一些基本常识802.11n速率计算方式、802.11n及802.11AC速率表
- 【BZOJ1965】[AHOI2005]洗牌(数论)
- jupyter notebook添加Anaconda虚拟环境的python kernel