一、简介
MongoDB 是一款免费开源的NOSQL文档型数据库,旨在为WEB应用提供可护展的高性能数据存储解决方案。
Note:
- NOSQL(not only sql):指的是非关系型数据库,没有固定的存储格式,一般适用于超大规模数据的存储。
- NOSQL优点:高可用、可扩展、低成本、数据结构灵活
- NOSQL缺点:弱化事务
二、 特点
- 数据存储格式为 BSON(一种二进制形式的存储格式,类似于 JSON)
- 丰富的查询语言(CRUD、数据聚合、全文检索、地理位置查询)
- 高可用(副本集)
- 水平扩展,支持海量数据存储(分片)
- MongoDB支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
- 支持完全索引
三、 MongoDB中概念解析
SQL术语 | MongoDB术语 | 说明 |
---|---|---|
database | database | 数据库 |
table | collection | 集合 |
row | document | 文档,一条记录 |
index | index | 索引 |
primary key | primary key | 主键,MongoDB自动将_id字段设置为主键 |
foreign key | 无 | 无 |
四、环境搭建(注:最新版本3.6,只能在64位系统安装)
1. 安装
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.2.tgz
tar -zxvf mongodb-linux-x86_64-3.6.2.tgz -C /usr
mv /usr/mongodb-linux-x86_64-3.6.2 /usr/mongodb
2. 启动mongodb服务
# 启动mongo server命令
./mongod --port 27017 --dbpath=/data/db
启动成功,如下图所示:
五、MongoDB的客户端基本操作
1. 打开客户端交互窗口
/root/mongodb/bin/mongo 192.168.138.156:27017
注:
a. mongodb 客户端是一个javascript交互窗口,可以直接写js代码
b. mongodb和mysql数据库有点类似,有数据库的概念,在使用时需要先选中数据库,再执行操作
2. 数据库相关操作
show dbs
展示所有数据库
db
展示当前使用的数据库
use 数据库名
切换到指定数据库
db.dropDatabase();
删除数据库
db.help();
帮助命令