MongoDB数据类型

MongoDB的文档类似于JSON的格式

json数据类型:

Json包含6中数据类型,只有null、布尔、数字、字符串、数组、对象这几种数据类型.JSON中没有日期类型,只有一种数字类型,没办法区分整形和浮点数,不能区分32位和64位。

MongoDB数据类型

MongoDB保留了JSON的键值特性,添加了一些其他的数据类型。

null

用于表示空值获不存在字字段

32位整形 javascript中只有一种数字类型,而MongoDB中有上面3中类型,默认情况下shell的数字都被MongoDB当作双精度。在shell下修改文档中的32位整形,也会被转换为64位浮点数。所以尽量不要在shell下面修改文档
64位整形
64位浮点数
字符串 UTF-8字符串数据
id和ObjectId MongoDB中存储的文档必须有一个“_id”,这个键可以是任何值,默认是objectId对象,在集合中,每个文档都有一个唯一的“_id”,来确保集合里面每个文档都能被唯一标识。ObjectId是MongoDB中“_id”的默认对象,生成方式有点类是于UUID,在不同的机器上都能用生存一个唯一的值。
日期 日期类型存储是从标准纪元开始的毫秒数,不存储时区
正则表达式 采用javascript的正则表达式语法
代码 可以包含javascript代码,如 {a:function(){……}}
二进制 任意字节组成的串
最大值and最小值 是BSON中的特殊类型分别表示可能的最大最小值
未定义 undefined,在javascript中null和undefined是不同的类型
数组 值的集合表示为数组。同json数组一样,数组是一组值,既可以作为有序对象(队列、栈等)来操作,也可以作为无序对象来操作,数组中可以包含不同的数据类型的对象,甚至是嵌套数组
内嵌文档

文档可以包含别的文档,也可以嵌入到父文档中。内嵌文档就是把整个MongoDB文档当作另一个文档中键的值。同数组一样MongoDB能够理解内嵌文档的结构,并构建索引,执行查询,更新等。

   
   
   
   
   
   
posted @ 2013-06-09 15:05  张巍的博客  阅读(8902)  评论(1编辑  收藏  举报