MongoDB
MongoDB
关系型和非关系型数据库
关系型数据库(表就是关系,或者说表与表之间存在关系)。
- 所有的关系型数据库都需要通过
sql
语言来操作 - 所有的关系型数据库在操作之前都需要设计表结构
- 而且数据表还支持约束
- 唯一的
- 主键
- 默认值
- 非空
非关系型数据库
- 非关系型数据库非常的灵活
- 有的关系型数据库就是key-value对儿
- 但MongDB是长得最像关系型数据库的非关系型数据库
- 数据库 -》 数据库
- 数据表 -》 集合(数组)
- 表记录 -》文档对象
一个数据库中可以有多个数据库,一个数据库中可以有多个集合(数组),一个集合中可以有多个文档(表记录)
{
qq:{
user:[
{},{},{}...
]
}
}
- 也就是说你可以任意的往里面存数据,没有结构性这么一说
安装
-
下载
-
安装
npm i mongoose
-
配置环境变量
-
最后输入
mongod --version
测试是否安装成功
启动和关闭数据库
启动:
# mongodb 默认使用执行mongod 命令所处盼复根目录下的/data/db作为自己的数据存储目录
# 所以在第一次执行该命令之前先自己手动新建一个 /data/db
mongod
如果想要修改默认的数据存储目录,可以:
mongod --dbpath = 数据存储目录路径
停止:
在开启服务的控制台,直接Ctrl+C;
或者直接关闭开启服务的控制台。
连接数据库
连接:
# 该命令默认连接本机的 MongoDB 服务
mongo
退出:
# 在连接状态输入 exit 退出连接
exit
基本命令
show dbs
- 查看数据库列表(数据库中的所有数据库)
db
- 查看当前连接的数据库
use 数据库名称
- 切换到指定的数据库,(如果没有会新建)
show collections
- 查看当前目录下的所有数据表
db.表名.find()
- 查看表中的详细信息
MongDB 数据库的基本概念
-
可以有多个数据库
-
一个数据库中可以有多个集合集合
-
一个集合中可以有多个文档
-
文档结构很灵活,没有任何限制
-
MongoDB非常灵活,不需要像MySQL一样先创建数据库、表、设计表结构
- 在这里只需要,当你需要插入数据的时候,只需指定往哪个数据库的哪个集合操作就可以了
- 一切都由 MongoDB 来帮你自动完成建库建表那些事
{ qq:{ users:[ {name:"张三",age:15}, {name:"张三",age:15}, {name:"张三",age:15}, {name:"张三",age:15}, ], products:[], .... }, taobao:[ ] }
窘迫的日子里,却总是有它好玩的地方