数据库
- MongoDB 是一个基于分布式文件存储的数据库
- 数据库是按照数据结构来组织、存储和管理数据的应用程序
- 数据库作用, 主要是管理数据, 对数据进行增删改查
- 数据的特点:
- 速度更快
- 扩展性更强
- 安全性更强
- 选择 MonngoDB 的原因: 与 js 类似, 学习快
MonngoDB 核心概念
- 数据库: 数据库, 就是一个数据仓库, 数据库服务下可以创建很多数据库,数据库中可以存放很多集合
- 集合: 类似 js 中的数组, 也就是一张表, 集合中可以存放很多文档
- 文档: 是数据库中最小的存储单元, 相当于 js 中的对象
安装 mongodb
-
进入到 /usr/local 目录下 cd /usr/local #下载 sudo curl -O fastdl.mongodb.org/osx/mongodb… #解压 sudo tar -zxvf mongodb-macos-x86_64-8.0.0.tgz #重命名 sudo mv mongodb-macos-x86_64-8.0.0/ mongodb
-
配置环境变量 vim ~/.zhsrc export PATH=/usr/local/mongodb/bin:$PATH
-
检测 mongodb mongod --version
配置 mongodb 的数据位置
mkdir /data/db -- 这个是 mongodb 数据的默认存放位置, 需要手动创建 可以在 ~ 目录下创建, 但是需要告诉 mongodb 使用这个位置
- 创建文件路径位置 mkdir ~/data/db
- 告诉 mongodb sudo mongod --dbpath= ~/data/db
安装完成后需要连接 mongo
如果你使用命令行去操作你的数据,你需要去官网下载一个 shell 用于连接 mongodb
下载完成后, 在终端输入 mongosh 后就可以进入mongodb 的命令行, 并且可以通过后这个命令行连接上 mongodb 的服务
注意: 我们使用 mongod 的时候, 其实是开启了一个mongodb 的服务, 与他通讯就需要尊序它的协议, 这类似我们的浏览器,在浏览器中数据网址尊序的就是 http 协议, 当然我们如果要访问 mongodb, 就要遵循别人的协议
启动 mongo
终端执行命令 mongod 启动 mongo 服务
sudo mongod --dbpath = 路径
新建终端 执行命令 mongo 连接到 mongodb 服务, 如果是在 mac 中, 需要自己再下载一个 mongo shell 打开连接, 或者使用 vscode 插件 database client 这个工具进行连接
使用常见的数据库命令 -- 这些命令在代码中一般见不到, 主要在我们学习阶段
- 查看所有数据库: show dbs
- 切换到指定的数据库, 如果没有机会创建这个数据库 use dbName 需要注意的是:创建完成后, 如果数据库是空的, 使用 show dbs 会看不到, 需要在里面创建数据
- 显示当前所在的数据库 db
- 删除当前数据库 必须要切换到当前数据库中才行 use test db.dropDatabase()
集合命令
- 创建集合 db.createCollection('user') -- 这个必须要在我们创建的目标数据库下执行, 创建成功后, 会返回一个对象
- 显示当前数据库中的所有集合 show collections
- 重命名集合 db.集合名.renameCollection('user1')
- 删除集合 db.集合名.drop()
文档命令
- 插入文档 db.集合名.insert(文档对象)
- 查询文档 db.集合名.find() // 查询到全部 db.集合名.find(查询条件) // 根据条件去查询 _id 是 mongodb 自动生成的唯一编号, 用来唯一标识一个文档
- 插入文档 db.集合名.update(查询条件, 新的文档) // 更新的逻辑会将新的数据替换掉老的数据 db.集合名.update({name: '小明'}, {set: {age: 19}}) // set 是一个占位符, 只修改需要修改的字段
- 删除文档 db.集合名.remove(查询条件) // 查询条件也是一个 满足需求的对象
mongoose 第三方库
和使用的 TypeOrm 类似, 用来代替那些 增删改查 等命令, 他是一个库,方便我们操作数据
数据库的默认端口是 27017
在使用的时候自己查看文档 :