MongoDB

Posted 瀧思葉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB相关的知识,希望对你有一定的参考价值。

(一)简介 what:

用C++语言编写的非关系型数据库

特点:高性能、易部署、易使用,存储数据十分方便。

(二)特性:

模式自由 ②支持动态查询  ③支持完全索引,包含内部对象

④支持复制故障恢复 ⑤使用高效的二进制数据存,包括大型对象

⑥文件存储格式BSON(一种JSON拓展)

MongoDB和关系数据库的对比:

 

对比项mongoDBmysql oracle
集合 二维表table
表的一行数据 文档document 一条记录recoder
表字段 键key 字段filed
字段值 值value 值value
主外键 PK FK
灵活度扩展性 极高

MongoDB基本概念:

文档(document)是MongoDB中数据的基本单元,非常类似于关系型数据库系统中的行|(但是比行要复杂的多)

②集合(collection)就是一组文档,如果说MongoDB中的文档类似于关系型数据库中的行,那么集合就如同表。

MongoDB的单个计算机可以容纳多个独立的数据库,每一个数据库都有自己的集合和权限。

MongoDB自带简洁但功能强大JavaScript shell,这个工具对于管理MongoDB实例和操作数据作用非常大。

⑤每一个文档都有一个特殊的键“_id”,它在文档所处的集合中是唯一的,相当于关系数据库的表的主键。

MongoDB数据类型:

数据类型描述举例
null 表示空值或者未定义的对象 {“x”:null}
布尔值 真或者假:true或者false {“x”:true}
32位整数 32位整数。shell是不支持该类型的,shell中默认会转换成64位浮点数  
64位整数 64位整数。shell是不支持该类型的,shell中默认会转换成64位浮点数  
64位浮点数 64位浮点数。shell中的数字就是这一种类型 {“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() {}}
未定义 undefined {“x”:undefined}
数组 值的集合或者列表 {“arr”: [“a”,”b”]}
内嵌文档 文档可以作为文档中某个key的value {“x”:{“foo”:”bar”}}

 

以上是关于MongoDB的主要内容,如果未能解决你的问题,请参考以下文章

MongoDBMongodb——GridFS存储

mongoDBmongoDB副本集实战

MongoDBMongoDb数据结构

MongoDBmongodb设置用户访问权限

MongodbMongodb复制和分片

MongoDBMongoDB的安装教程