1.MongoDB简介
1.1.MongoDB的概念
1.MongoDB是用C++语言编写的非关系型数据库。特点是高性能、易部署、易使用,存储数据十分方便
2.主要特性有:面向集合存储,易于存储对象类型的数据,模式自由,支持动态查询,支持完全索引,包含内部对象,支持复制和故障恢复,使用高效的二进制数据存储,包括大型对象文件存储格式为BSON(一种JSON的扩展)
1.2MongoDB基本概念介绍
1.2.1MongoDB术语
1.集合(collection)就是一组文档,如果说MongoDB中的文档类似于关系型数据库中的表
2.文档(document)是MongoDB中数据的基本单元,非常类似于关系型数据库系统中的行,其格式如同json
3.注意事项:
(1)MongoDB的单个实例可以容纳多个独立的数据库,每一个数据库都有自己的集合和权限
(2)MongoDB自带简洁但功能强大的JavaScript shell,这个工具对于管理MongoDB实例和操作数据作用非常大
(3)每一个文档都有一个特殊的键"_id",它在文档所处的集合中是唯一的,相当于关系数据库中的表的主键
1.2.2MongoDB与关系型数据库对比
1.3MongoDB数据类型
1.null 表示空值或者未定义的对象 {"x":null}
2.布尔值 真或者假:true或者false {"x":true}
3.32位整数 32位整数。shell是不支持该类型的,shell中默认会转换成64位浮点数
4.64位整数 64位整数。shell是不支持该类型的,shell中默认会转换成64位浮点数
5.64位浮点数 64位浮点数。shell中的数字就是这一种类型 {"x":3.14,"y":3}
6.字符串 UTF-8字符串 {"foo":"bar"}
7.符号 shell不支持,shell会将数据库中的符号类型的数据自动转换成字符串
8.对象id 文档的12字节的唯一id {"id": ObjectId()}
9.日期 从标准纪元开始的毫秒数 {"date":new Date()}
10.正则表达式 文档中可以包含正则表达式,遵循JavaScript的语法 {"foo":/foobar/i}
11.代码 文档中可以包含JavaScript代码 {"x":function() {}}
12.未定义 undefined {"x":undefined}
13.数组 值的集合或者列表 {"arr": ["a","b"]}
14.内嵌文档 文档可以作为文档中某个key的value {"x":{"foo":"bar"}}
1.4 MongoDB安装与启动
1.4.1 下载MongoDB
http://www.mongodb.org/downloads
1.4.2安装MongoDB
MongoDB的安装非常简单,只需要将下载的MongoDB的压缩文件解压到任意目录,并将其中的bin目录加入到系统的path环境变量中即可
1.4.3启动MongoDB服务
1.在启动MongoDB之前,要手动创建一个存放MongoDB数据文件的目录,如D:\mongo_data
2.在命令行执行 mongod --dbpath=D:\mongo_data
*小技巧:
1.手动创建一个后缀为bat的文件,文件名任意,内容为: mongod --dbpath=D:\mongo_data,双击此文件就可以启动MongoDB服务,不用每次都到命令行执行启动命令
2.在启动服务器的shell下可以键入Ctrl-C来完全的停止mongod的运行
1.4.4连接到MongoDB服务器
1.在命令行中可以使用mongo命令连接到MongoDB服务器,如下,输入mongo命令默认连接到本地的名称为test的数据库,如果希望连接到远程数据库,可以使用mongo ip:port
2.Mongodb的默认端口为27017