mongodb数据类型

随着web2.0的时代到来,关系型数据库在越来越多的场景下暴漏出许多问题,为了解决这类问题,NoSql数据库应用而生,今天就来说说当下比较主流的NoSql数据库mongodb。

  1. 基本数据类型       mongodb类似于json,在概念上javaScript类似。json是数据的一种简单表示方法,包含6种数据类型,分别是:null, 布尔,数字,字符串,数组和对象。没有时间数据类型,在操作时间上就会很麻烦。而mongodb在保留json基本的键值对的特性基础上,添加了其它的数据类型。

数据类型 文档的表示方式                         说   明                       
null {"x":null} null表示空值或者不存在的字符串
布尔 {“x”:true} 布尔有两个值true或false
32位整数   在Shell中这个类型是不可用的,因为javaScript只支持64位浮点数,所有32位整数会自动转换。
64位整数   在Shell中也不支持这个类型,Shell会使用一个特殊的内嵌文档来显示64位整数
64位浮点数 {"x":12.6} {"y":12} shell中的数字都是这种类型
字符串 {"x":"personaliinfo"} UTF-8字符串都可以表示为字符串类型的数据
符号   Shell不支持这种类型。Shell将数据库中的符号类型转换为字符串
对象Id {"x":objectId()} 对象id是文档的12字节的唯一ID
日期 {"x":newDate()} 日期类型存储的是从标准纪元开始的毫秒数,不存储时区
正则表达式 {"x":/personaliinfo/i} 文档中可以包含正则表达式,采用正则表达式的语法
代码 {"x":function(){...}} 文档中可以包含JavaScript代码
二进制数据   二进制数据可以由任意字节的串组成,在Shell中无法使用
最大值   BSON包含一个特殊类型,表示可能的最大值,Shell中没有
最小值   BSON包含一个特殊类型,表示可能的最小值,Shell中没有
未定义 {"x":undefined} 文档中可以使用未定义类型(javascript中null和undefined是不同的类型)
数组 {"x"["a","b","c"]} 值得集合或者列表可以表示成数组
内嵌文档 {"x":{"name":"h"}} 文档中可以嵌入其它文档

 

原文地址:https://www.cnblogs.com/qiaojie/p/4041083.html