欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

mongodb文档支持的数据类型

程序员文章站 2022-03-28 10:16:10
...

1. 存储类型 mongodb文档类似于json,但不是完全的json。 json只有六种类型:null, bool, 数字,字符串,数组,对象。但是mongo的文档在json的基础上还扩展了几种类型, 比如,日期类型,整数,浮点数。 mongodb真正存储在磁盘上是使用bson(binary json)

1. 存储类型

mongodb文档类似于json,但不是完全的json。 json只有六种类型:null, bool, 数字,字符串,数组,对象。但是mongo的文档在json的基础上还扩展了几种类型, 比如,日期类型,整数,浮点数。
mongodb真正存储在磁盘上是使用bson(binary json)。

2. 常用数据类型

null: 表示不存在或空值。 bool : true 和 false。 string: 字符串, 用引号包含。

3. 数字

json中只有数字类型。而mongodb中有三种: 32位整数 64位整数 64为浮点数数字默认是按照浮点数存储的。

4. 日期

日期类型存储从标准纪元开始的毫秒数。
{"x" : new Date()}

5. 数组

可以存储数组
{"x" : ["a", "b", "c"]}

6. 内嵌文档

把一个文档作为另一个文档的一个值。
{“x” : {"foo" : "bar"}}

7. _id

mongdb文档必须有个“_id”key,默认是个ObjectId对象。 ObjectId使用12个字节存储空间,每个字节两位16进制数字,是24位字符串。分配如下图所示 mongodb文档支持的数据类型
前四个字节为时间戳。由于在前面,使Objectid大概按照时间戳排序。将其作为索引提高效率。 pid为进程标识符,计数器为每秒的计数器。每秒可以生成(16*16 = 256)的三次方。
_id可以程序来生成,不用系统自动,这就需要保证每个id不能重复。

8. 其他

文档中还可以包含正则表达式, javascript代码,二进制数据。