MongoDB-概述
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
概述
非关系型数据库 (NoSql –> not only sql)
- 优点 :
- 高并发,读写能力强
- 弱化数据结构一致性,使用更加灵活
- 有良好的可扩展性
- 缺点 :
- 通用性差,没有sql语句那样同于的语句
- 操作灵活导致容易出错和混乱
- 没有外键关联等复杂的操作
Nosql的使用情况
- 对数据存储灵活性要求高,一致性要求低
- 数据处理海量并发,要求瞬间效率速度比较高
- 数据比较容易建立Nosql模型
- 网站临时缓冲存储,爬虫应用
Nosql分类
1.键值型数据库 Redis
2.文档型数据库 MongoDB
3.列存储数据库 HBase
4.图形数据库
MongoDB数据库
标签 : 非关系型数据库 文档型数据库
最像关系型的非关系型数据库
特点 :
- 是由c++编写的数据库管理系统
- 支持丰富的数据操作,增删改查索引聚合
- 支持丰富的数据类型
- 使用方便,可以很好的扩展。相对比较成熟
- 支持众多的编程语言接口 (python PHP c++ c#)
要求:
- 关系型数据库和非关系型数据库各自有什么特点
- MongoDB是一个什么样的数据库
MongoDB的安装
自动安装
1 | sudo apt-get install mongodb |
默认安装位置 : /var/lib/mongodb
配置文件位置 : /etc/mongodb.conf
命令集: /usr/bin /usr/local/bin
手动安装
- 下载安装包
官网 - 解压安装包
/usr/local /opt - 将解压后的MongoDB文件夹中的bin目录添加到环境比变量
PATH=$PAHT:/opt/mongo…../bin
export PATH
将以上两句写入启动脚本 /etc/rc.local - 重启
mysql 和 mongodb 概念对比
mysql | mongodb | 含义 |
---|---|---|
database | database | 数据库 |
table | collection | 表/集合 |
column | field | 字段/域 |
row | document | 记录/文档 |
index | index | 索引 |
Mongodb 命令
- 设置数据库存储位置
1 | mongod --dbpath 目录 |
- 设置数据库监听端口
1 | mongod --port 8080 |
- 进入数据库交互操作界面
1 | mongo shell : 用来操作mongodb数据库的界面,在这里可 以使用mongo语句操作数据库内容 |
组织结构 : 键值对 –> 文档 –>集合 –> 数据库
在MongoDB中如何表示下面的数据表
1 | ------------------------- |
1 | { |