MongoDB简介以及下载安装

什么是 MongoDB ?

MongoDB 是由 C++ 语言编写的,是一个基于分布式文件存储的开源数据库系统。运行稳定,性能高

    在高负载的情况下,添加更多的节点,可以保证服务器性能。

    MongoDB 旨在为 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# 等多种语言。
  • MongoDB 安装简单。

专业术语: 

1. 下载安装:

 

 linux 下面安装:

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz    # 下载
tar -zxvf mongodb-linux-x86_64-3.0.6.tgz                                   # 解压
windows 下面安装:
参考:
http://www.runoob.com/mongodb/mongodb-window-install.html
注意: 安装完成在 C 盘简历 data/db 文件夹即可启动

2. 创建数据库目录

MongoDB 的数据存储在 data 目录的 db 目录下,但是这个目录在安装过程不会自动创建,所以你需要手动创建 data 目录,并在 data 目录中创建 db 目录。

以下实例中我们将 data 目录创建于根目录下 (/)。

注意:/data/db 是 MongoDB 默认的启动的数据库路径 (--dbpath)。

mkdir -p /data/db    
    -p 或 --parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;

3. 启动服务:

你可以再命令行中执行 mongo 安装目录中的 bin 目录执行 mongod 命令来启动 mongdb 服务。

    注意:如果你的数据库目录不是 /data/db,可以通过 --dbpath 来指定。

$ ./mongod
2015-09-25T16:39:50.549+0800 I JOURNAL  [initandlisten] journal dir=/data/db/journal
2015-09-25T16:39:50.550+0800 I JOURNAL  [initandlisten] recover : no journal files present, no recovery needed
2015-09-25T16:39:50.869+0800 I JOURNAL  [initandlisten] preallocateIsFaster=true 3.16
2015-09-25T16:39:51.206+0800 I JOURNAL  [initandlisten] preallocateIsFaster=true 3.52
2015-09-25T16:39:52.775+0800 I JOURNAL  [initandlisten] preallocateIsFaster=true 7.7

如果需要加到环境变量:

(1) 编辑 bashrc 文件

vim ~/.bashrc

(2) 加入 monogdb 目录

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

Source global definitions

if [ -f /etc/bashrc ]; then
.
/etc/bashrc
fi
export PATH
=$PATH:/usr/local/mongodb-linux-x86_64-3.0.6/bin/

(3) 重新加载.bashrc 文件

source ~/.bashrc

补充:适用场景

事务信不强的可以使用 mongodb,字段不确定是否经常变的可以用 mongodb