mongodb

55 阅读2分钟

关系型数据库数据库 (RDB)

  • mysql sqlserver 用表结构来进行数据的存储,按照固定的结构来存储数据 (行,列)
  • 大规模的数据, 高并发的场景关系型数据库 性能差(查询速度慢)(数据量大的情况 拆表 拆库) 使用起来灵活性不高, 扩展不方便, SQL 语句, 适合复杂的关系查询。 事务的支持非常完备,可以保证数据的完整和一致性 。 适合结构性强的数据 适合电商,erp 系统。。。。

非关系型数据库

  • nosql (无需按照特定的模式来进行存储) 存储的数据格式可以是随意的 redis 键值对 Mongodb(文档)
  • 扩展性好,可以水平扩展,扩展起来方便, 查询速度高于 rdb。 缺点就是用的就是自己的语言,事务的支持不是特别完备。
  • 读写性能好, 适合存储一些低价值数据 (日志, 爬虫, 分析数据)

redis + mongodb + mysql

增删改查常见的基本操作,数据库的备份 权限

  • 安装后 mongod(服务端) mongosh(客户端)

  • brew tap mongodb/brew

  • brew install mongodb-community@6.0

  • brew services start mongodb-community@6.0

可视化工具(Navicat Robo3T)

  • 链接数据库 mongosh 直接链接即可 mongosh --host "mongodb://远程 ip:27017"
  • show dbs 显示所有的数据库(集合)
  • use lesson 切换数据库
  • db.help()
  • show collections 显示所有的集合
  • db.collections.help()
  • db.dropDatabase()
  • db.dropcollections()
  • _id 是唯一标识

权限:(权限可以再 mongo.config 中开启后,重启 mongodb 即可) 数据库备份 mongodump (window 中不会默认安装 mongodump mongoimport mongoexports) 需要自己装www.mongodb.com/try/downloa…

恢复数据库 mongorestore 文件夹

数据库的导出 导入 (json,csv 文件)

  • 导出 mongoexport --db lesson --collection student --csv -f username,password -o student.csv

  • 导入 mongoimport --db lesson --collection student --type csv --headerline --file student.csv

  • db.集合名.insert()

  • db.集合名.find()

  • db.集合名.remove()

  • db.集合名.update()

通过代码来操作数据库, odm (object document mapping)(数据库, 集合 , 文档) 关系型数据库 orm

有了工具后 可以让 mongodb 更像 关系型数据库(特点就是结构统一) mongoose 可以帮我么做这个事 (自动生成集合结构,限制存储的格式)