MongoDB的数据类型

数据类型

描述

举例

null

表示空值或者未定义的对象

{“x”:null}

布尔值

true或者false

{“x”:true}

32位整数

32位整数 shell中不支持

Shell中会转换位64位浮点数

64位整数

64位整数 shell中不支持

Shell中会转换位64位浮点数

64位浮点数

64位浮点数

{”x”:3.14,“y”:3}

字符串

Utf-8字符串

{“foo”:“bar”}

符号

shell不支持

Shell会将符号转换为字符串

对象id

文档的12字节的唯一id

{“id”:ObjectId()}

日期

从标准纪元开始的毫秒数

{“date”:new Date()}

正则表达式

文档中可以包含正则表达式,遵循JavaScript的语法

{“foo”:/foobar/i}

 

代码

文档中可以包含javaScript代码

{“x”:function(){}}

二进制数据

任意字节的二进制串组成shell不支持

 

最大值

BSON包括一个特殊类型,表示可能的最大值,shell不支持

 

最小值

BSON包括一个特殊类型,表示可能的最小值,shell不支持

 

未定义

undefined shell不支持

{“x”:undefined}

数组

指的集合或列表

{“arr”:[“a”,”b”]}

内嵌文档

文档可以作为文档中某个key的value

{“x”:{“foo”:“bar”}}

 

ObjectId(0~11)

  1. 对象id类型是一个12字节的唯一id。每个字节2位16进制数,因此整个id类型是一个24位的字符串
  2. 前面四个字节代表从标准纪元开始的事件戳,以秒为单位
  3. 接下来3个字节代表机器号,一般是机器的hash值。这可以保证不同的及其产生的id不会冲突
  4. 接下来两个字节表示进程id号,保证统一机器不同建成产生的id不冲突
  5. 最后三个是计数器的技术支持,对于任意一秒钟,可以产生2^24个数
posted @ 2016-12-29 10:42  wenxudong  阅读(134)  评论(0编辑  收藏  举报