一、数据类型
MongoDB的文档使用BSON(Binary JSON)来组织数据,BSON类似于JSON,JSON只是一种简单的表示数据的方式,只包含了6种数据类型(null,布尔,数字,字符串,数组,对象),不能完全满足复杂业务的需要,因此,BSON还提供日期,32位数字,64位数字等类型。eg:
1.null :null类型用于表示空值或不存在的字段 ,
如:{“name”:null}
2.布尔类型 : 布尔类型有两个值,“true”和“false” ,
如 : {“name”:true}
3.32位整数 : MongoDB的控制台使用JS引擎进行输入,而JS仅支持64位浮点数,
所以32位整数将会被自动转义。
4.64位整数 : 64位整数于32位整数一样,在MonoDB控制台使用时,会转义成64位浮点数。
5.64位浮点数:MongoDB控制台数字的默认类型。
如{“price”:2.02} ,{“price”:10}
6.字符串:UTF-8字符串都可以表示为字符串类型的数据,
如:{“name”:“hanchao”}
7.符号:在MongoDB控制台中不支持这种类型,将自动转义成字符串。
8.ObjectId类型 : 对象id是文档中唯一的12位的ID,0|1|2|3|4|5|6|7|8|9|10|11
时间戳|机器码|PID|计数器
如:ObjectId("5b0008958704466049643379")
9.日期:如:{“startTime” : new Date()}
10.正则表达式:文档键值可以包含正则表达式,其正则表达式采用JS语法表示。
如:{“name”:/ho/i}
11.代码:文档中可以包含JS代码,
如:{“name”: function{}{/*.... */}}
12.数组:文档中键值可以表示为数组,在数组中还可以嵌套数组。
如:{“address”:["A","b",["C","d"]]}
13内嵌文档:文档可以包含别的文档,也可以作为值嵌入到父文档中,
如:{“x”:{"name":“Tom”,"age":2}}