MongoDB-概述

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

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

概述

非关系型数据库 (NoSql –> not only sql)

  • 优点 :
    • 高并发,读写能力强
    • 弱化数据结构一致性,使用更加灵活
    • 有良好的可扩展性
  • 缺点 :
    • 通用性差,没有sql语句那样同于的语句
    • 操作灵活导致容易出错和混乱
    • 没有外键关联等复杂的操作

Nosql的使用情况

  1. 对数据存储灵活性要求高,一致性要求低
  2. 数据处理海量并发,要求瞬间效率速度比较高
  3. 数据比较容易建立Nosql模型
  4. 网站临时缓冲存储,爬虫应用

Nosql分类

1.键值型数据库 Redis
2.文档型数据库 MongoDB
3.列存储数据库 HBase
4.图形数据库

MongoDB数据库

标签 : 非关系型数据库 文档型数据库
最像关系型的非关系型数据库

特点 :

  1. 是由c++编写的数据库管理系统
  2. 支持丰富的数据操作,增删改查索引聚合
  3. 支持丰富的数据类型
  4. 使用方便,可以很好的扩展。相对比较成熟
  5. 支持众多的编程语言接口 (python PHP c++ c#)

要求:

  1. 关系型数据库和非关系型数据库各自有什么特点
  2. MongoDB是一个什么样的数据库

MongoDB的安装

自动安装

1
sudo apt-get install mongodb

默认安装位置 : /var/lib/mongodb
配置文件位置 : /etc/mongodb.conf
命令集: /usr/bin /usr/local/bin

手动安装

  1. 下载安装包
    官网
  2. 解压安装包
    /usr/local /opt
  3. 将解压后的MongoDB文件夹中的bin目录添加到环境比变量
    PATH=$PAHT:/opt/mongo…../bin
    export PATH
    将以上两句写入启动脚本 /etc/rc.local
  4. 重启

mysql 和 mongodb 概念对比

mysql mongodb 含义
database database 数据库
table collection 表/集合
column field 字段/域
row document 记录/文档
index index 索引

Mongodb 命令

  1. 设置数据库存储位置
1
2
3
mongod --dbpath  目录
e.g. 将存储路径设置为dbs
mongod --dbpath dbs
  1. 设置数据库监听端口
1
2
mongod --port  8080
* 默认监听端口27017
  1. 进入数据库交互操作界面
1
2
3
mongo shell : 用来操作mongodb数据库的界面,在这里可                以使用mongo语句操作数据库内容

退出 mongo shell:quit() exit ctrl-c

组织结构 : 键值对 –> 文档 –>集合 –> 数据库

在MongoDB中如何表示下面的数据表

1
2
3
4
5
6
7
-------------------------
ID | NAME | AGE
-------------------------
1 | Lily | 17
-------------------------
2 | Lucy | 18
-------------------------
1
2
3
4
5
6
7
8
9
10
{
"ID":1,
"NAME":'Lily',
"AGE":17
},
{
"ID":2,
"NAME":'Lucy',
"AGE":18
}