MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 Web 应用提供可扩展的高性能数据存储解决方案。

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似 json 的 bson 格式,因此可以存储比较复杂的数据类型。Mongo 最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

特点

它的特点是:

  • 高性能

  • 易部署

  • 易使用

  • 存储数据非常方便

主要功能特性有:

  • 面向集合存储,易存储对象类型的数据。

  • 模式自由。

  • 支持动态查询。

  • 支持完全索引,包含内部对象。

  • 支持查询。

  • 支持复制和故障恢复。

  • 使用高效的二进制数据存储,包括大型对象 (如视频等) 。

  • 自动处理碎片,以支持云计算层次的扩展性。

  • 支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。

  • 文件存储格式为BSON (一种JSON的扩展) 。

  • 可通过网络访问。

安装

在进行操作之前,我们需要先下载安装 MongoDB,在官方网站 (https://www.mongodb.com) 可以轻易找到下载页面 (https://www.mongodb.com/download-center),选择相应的系统平台并点击下载按钮即可。下载后的文件是一个 .tgz 包 (针对 Windows 平台的是 .msi)。

手动安装

先来介绍手动安装的方法,对 OS X 和 Linux 用户,你也可以参考后面具有针对性的安装方法。

手动安装时,如果你下载的是 .tgz 文件,你应该先进行文件提取:

tar -zxvf mongodb-osx-x86_64-3.4.0-rc0.tgz

当然,具体的 .tgz 文件名依据情况会有所不同。提取后,一般我们还会将提取到的文件复制或移动到指定的目录:

mkdir -p mongodb
cp -R -n mongodb-osx-x86_64-3.4.0-rc0/ mongodb

接下来还需要配置 PATH 变量,例如 ~/.bashrc 中加入:

export PATH=<mongodb-install-directory>/bin:$PATH

当然这也依据实际情况有所不同。其中,<mongodb-install-directory> 部分表示刚才我们指定的目录。

OS X: Homebrew

对于 OS X,你还可以使用 Homebrew 来进行安装。要使用 Homebrew 安装,首先你应当更新其数据库:

brew update

然后进行安装:

brew install mongodb

如果你需要 TLS/SSL 支持,这样安装:

brew install mongodb --with-openssl

如果你愿意安装最新的开发版本,这样安装:

brew install mongodb --devel

Linux: yum

对于 Linux,你可以选择使用 yum 来进行安装。但 Linux 版本众多,实际情况请参考 官方说明,这里不做赘述。

启动

第一步,建立数据目录,默认使用 /data/db 目录。

sudo mkdir -p /data/db

第二步,你需要确认你的账户对这个文件夹具有读写权限。

第三步,启动。如果你的 PATH 变量包含了 mongod 二进制文件的路径,并且你使用了默认的数据库目录,则只需要执行:

mongod

如果你的 PATH 没有包含该二进制文件路径,则执行这样的命令来启动:

full_path_to_binary/mongod

如果你指定了其它数据库目录:

mongod --dbpath full_path_to_data_directory

如果你不具备权限,会有 Permission denied 错误。