超详细的mongdb教程(一)环境安装
1、什么是MongoDB ?
MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源的NoSQL数据库系统。可以在高负载的情况下,添加多个的节点来保证服务器性能,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 中数据是以文档的形式进行存储,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。
- 主要特点
- MongoDB的提供了一个面向文档存储,操作起来比较简单和容易。
- 可以在MongoDB记录中设置任何属性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")来实现更快的排序。
- 可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。
- 如果负载的增加(需要更多的存储空间和更强的处理能力) ,它可以分布在计算机网络中的其他节点上这就是所谓的分片。
- Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
- MongoDb 使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段 。
- Mongodb中的Map/reduce主要是用来对数据进行批量处理和聚合操作。
- Map和Reduce。Map函数调用emit(key,value)遍历集合中所有的记录,将key与value传给Reduce函数进行处理。
- Map函数和Reduce函数是使用Javascript编写的,并可以通过db.runCommand或mapreduce命令来执行MapReduce操作。
- GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。
- MongoDB允许在服务端执行脚本,可以用Javascript编写某个函数,直接在服务端执行,也可以把函数的定义存储在服务端,下次直接调用即可。
- MongoDB支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
3、发展历史
历史 2007年10月,MongoDB由10gen团队所发展。2009年2月首度推出。
- 2012年05月23日,MongoDB2.1 开发分支发布了! 该版本采用全新架构,包含诸多增强。
- 2012年06月06日,MongoDB 2.0.6 发布,分布式文档数据库。
- 2013年04月23日,MongoDB 2.4.3 发布,此版本包括了一些性能优化,功能增强以及bug修复。
- 2013年08月20日,MongoDB 2.4.6 发布,是目前最新的稳定版。
4、基本概念介绍
在mongodb中基本的概念是文档、集合、数据库,下面我们挨个介绍。下表将帮助您更容易理解Mongo中的一些概念:
SQL术语/概念 | MongoDB术语/概念 | 解释/说明 |
---|---|---|
database | database | 数据库 |
table | collection | 数据库表/集合 |
row | document | 数据记录行/文档 |
column | field | 数据字段/域 |
index | index | 索引 |
table joins | 表连接,MongoDB不支持 | |
primary key | primary key | 主键,MongoDB自动将_id字段设置为主键 |
mongodb三元素:数据库,集合,文档
1、数据库
数据库:一个mongodb服务器可以有多个数据库,数据库是集合的物理容器,一个数据库中可以包含多个文档
2、集合
集合:类似于关系数据库中的表,储存多个文档,结构不固定,如可以存储如下文档在一个集合中
3、文档
文档:对应着关系数据库中的行,文档可以看成一个对象,由键值对构成,是json的扩展Bson形式
5、数据类型
下面为MongoDB中常用的几种数据类型。
- Object ID:文档ID
- String:字符串,最常用,必须是有效的UTF-8
- Boolean:存储一个布尔值,true或false
- Integer:整数可以是32位或64位,这取决于服务器
- Double:存储浮点值
- Arrays:数组或列表,多个值存储到一个键
- Object:用于嵌入式的文档,即一个值为一个文档
- Null:存储Null值
- Timestamp:时间戳
- Date:存储当前日期或时间的UNIX时间格式
object id
- 每个文档都有一个属性,为_id,保证每个文档的唯一性
- 可以自己去设置_id插入文档
- 如果没有提供,那么MongoDB为每个文档提供了一个独特的_id,类型为objectID
- objectID是一个12字节的十六进制数
- 前4个字节为当前时间戳
- 接下来3个字节的机器ID
- 接下来的2个字节中MongoDB的服务进程id
- 最后3个字节是简单的增量值
6、安装和配置
你可以在mongodb官网下载该安装包,地址为: http://www.mongodb.org/downloads。MonggoDB支持以下平台:
- OS X 32-bit
- OS X 64-bit
- Linux 32-bit
- Linux 64-bit
- Windows 32-bit
- Windows 64-bit
- Solaris i86pc
- Solaris 64
1、linux环境安装
由于实际的工作中mongdb服务,大多是安装在linux环境中,下面就先给大家介绍一下在linux中如何安装,MongoDB提供了linux平台上32位和64位的安装包,你可以在官网下载安装包。也可以通过wget进行下载。
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.10.tgz
下载完成后,解压
1、下载下来之后,先解压
tar -zxvf mongodb-linux-x86_64-rhel62-3.2.10.tgz
2、移动到/usr/local/目录下
sudo mv -r mongodb-linux-x86_64-rhel62-3.2.10/ /usr/local/mongodb
3、将可执行文件添加到PATH路径中
export PATH=/usr/local/mongodb/bin:$PATH
4、修改配置
安装好了之后,我们可以通过mongdb的配置文件来修改访问的端口,配置文件在/etc/mongod.conf
$ sudo vi /etc/mongod.cof
默认端口27017
6、启动服务命令
sudo service mongod start
7、停止服务命令
sudo service mongod stop
8、终端进入mongodb
这个shell就是mongodb的客户端,同时也是一个js的编译器
mongo
9、终端退出
exit
备注:文章内容部分引用mongoDB官方文档
欢迎来到testingpai.com!
注册 关于