跳到主要内容

MongoDB

MongoDB介绍​

  • MongoDB 是文档型 NoSQL 数据库;MySQL / PostgreSQL / SQLite 是关系型 SQL 数据库
    • 关系型数据库:数据拆成多张表,再通过 ID 关联。
    • MongoDB:相当于相关数据组织成一个 JSON 风格文档
  • MongoDB 最大特点:直接存“对象”
  • MongoDB 是一个基于文档存储的数据库
  • MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的
  • MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易
  • MongoDB不需要设计表结构
  • MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组
    • 也就是说你可以任意往里面存数据(非常地灵活),没结构性这么一说
  • MongoDB在前端入门非常简单,因为在MongoDB把表称之为集合,存储的是对象,以JS的方式写,不用写sql语法
  • MongoDB比较简单,不用那么麻烦,做一些简单的业务就足够

MongoDB的存储结构​

  • 可以有多个数据库
  • 一个数据库中可以有多个集合 (可以认为是mysql的表)
  • 一个集合中可以有多个文档 (可以认为是mysql的表记录)
  • 文档结构很灵活,没有任何限制
  • MongoDB非常灵活,不需要像MySQL那样先创建数据库、表、设计表结构
    • 在这里只需要,当你需要插入数据的时候,只需要指定往哪个数据库的哪个集合操作就可以了
    • 一切都有MongoDB来帮你自动完成建库表这事儿
json
{
qq:[
{name:"张三",age:15},
{name:"张四",age:16},
{name:"张五",age:17},
{name:"张六",age:18}

],
products:[

],
.............
}

下载​

安装​

配置环境变量​

把MongoDB目录中找到bin,在系统变量中的path添加 D:\tools\MongoDB\Server\4.0\bin

在终端,mongod --version,会成功打印出版本号等相关信息

text
mongod --version

关系型数据库和非关系型数据库​

  • 简单来说,表就是关系型,或者说表与表之间存在关系
    • 所有关系型数据库都需要通过sql语句才操作
    • 所有的关系型数据库在操作之前都需要设计表结构
    • 关系型数据库 (mysql + oracle +sql server)
    • 而且数据表还支持约束
      • 唯一的
      • 主键
      • 默认值
      • 非空
  • 非关系型数据库非常的的灵活
    • 有的非关系型数据库就是key-value(键值对)的概念
    • 就是没有表的概念
    • 整个数据库存的是就是key-value对
    • 但是MongoDB是长的最像关系型数据库的非关系型数据库 ​ mysql MongoDB
    • 数据库 -> 数据库
    • 数据表 ->集合(数组)
    • 表记录 ->文档对象