mongodb 数据库基础

47 阅读1分钟

数据库

  • MongoDB 是一个基于分布式文件存储的数据库
  • 数据库是按照数据结构来组织、存储和管理数据的应用程序
  • 数据库作用, 主要是管理数据, 对数据进行增删改查
  • 数据的特点:
    • 速度更快
    • 扩展性更强
    • 安全性更强
  • 选择 MonngoDB 的原因: 与 js 类似, 学习快

MonngoDB 核心概念

  • 数据库: 数据库, 就是一个数据仓库, 数据库服务下可以创建很多数据库,数据库中可以存放很多集合
  • 集合: 类似 js 中的数组, 也就是一张表, 集合中可以存放很多文档
  • 文档: 是数据库中最小的存储单元, 相当于 js 中的对象

image.png

安装 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 类似, 用来代替那些 增删改查 等命令, 他是一个库,方便我们操作数据

image-1.png 数据库的默认端口是 27017

在使用的时候自己查看文档 :

Mongdb 官方文档

Mongdb 菜鸟教程