什么是 MongoDB

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为Web 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

MongoDB 的特点

  • 【JSON风格文件的形式,面向文档存储:数据存储】 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#,Node.js 等多种语言。

MongoDB 适用场景

  • 大数据

  • 内容管理和交付

  • 移动和社交基础设施

  • 用户数据管理

  • 数据平台

Mac 下 MongoDB 安装

方法一,通过终端下载安装;

with Homebrew

1
2
3
4
5
6
7
8
9
10
11
# Update Homebrew’s package database
brew update

# Install MongoDB
# Install the MongoDB Binaries
brew install mongodb
# Install the MongoDB Binaries with TLS/SSL Support
brew install mongodb --with-openssl
# Install the Latest Development Release of MongoDB
brew install mongodb --devel

Install MongoDB Community Edition Manually

1
curl -O https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.4.2.tgz > mongodb.tgz

方法二,直接浏览器登录官网下载解压即可;

MongoDB 官网

使用

  • 打开终端,切换至 mongodb/bin 目录下,输入 ./mongod,如下图所示开启服务。

开启服务

  • 打开另外一个终端,切换至 mongodb/bin 目录下,输入 ./mongo 来允许输入 mongdb shell。

MongoDB 常用 shell 命令

  • use 命令

MongoDB use DATABASE_NAME 用于创建数据库。该命令将创建一个新的数据库,如果它不存在,否则将返回现有的数据库。

  • dropDatabase() 方法

    MongoDB db.dropDatabase() 命令是用来删除一个现有的数据库。
    dropDatabase() 命令的基本语法如下:

1
db.dropDatabase()
  • drop() 方法

MongoDB 的 db.collection.drop() 是用来从数据库中删除一个集合。

  • insert() 方法

要插入数据到 MongoDB 集合,需要使用 MongoDB 的 insert() 或 save() 方法。

  • find() 方法

要从MongoDB 查询集合数据,需要使用MongoDB 的 find() 方法。

  • pretty() 方法

结果显示在一个格式化的方式,可以使用 pretty() 方法.

  • limit() 方法

要限制 MongoDB 中的记录,需要使用 limit() 方法。 limit() 方法接受一个数字型的参数,这是要显示的文档数。

limit() 方法的基本语法如下

1
db.COLLECTION_NAME.find().limit(NUMBER)  

Mac 下客户端管理工具 —- Toad

  • 简介

Toad 是一个强大的生产力解决方案,简化了 OS X 用户的数据库管理。 它使您能够在自动化开发过程构建高质量的数据库应用程序。Toad 界面很流畅,能使你轻松切换任务。 此外,它不止支持 MongoDB,还支持 Oracle,MySQL 和 PostgreSQL。

  • 安装

打开 App Store ,搜索 Toad(图标为一只蛤蟆),直接安装即可。

Toad

  • 使用

安装好之后打开 Toad,在事先已经开启 MongoDB 服务的前提下,输入以下内容,进行数据库连接。

连接:

Toad

工具演示:

演示

参考

  1. https://www.mongodb.com/
  2. http://www.runoob.com/mongodb/mongodb-tutorial.html
  3. https://segmentfault.com/a/1190000002547229