数据库作用:
1. 数据库存储数据的仓库,
2. 持久化存储的数据在硬盘
3. 内存中存储的数据,程序结束或计算机断电丢失
数据库的分类:
关系型 mysql oracle db2 sqlserver 表结构 非关系型 mongodb redis
mongodb数据库
文档型数据库
文档:类似json格式数据结构
注: mongodb存储的是各种各样的json数据
安装使用 mongodb数据库
- 下载mongodb 下载地址: http://dl.mongodb.org/dl/win32/x86_64,基本是傻瓜式安装,中间有一步需要选择custom选项来自定义安装路径,否则默认会安装在C盘。
在点击finish之前,左下角有一个小方框可供选择,如果勾选了,会一起下载一个windows的可视化工具,不过,如果勾选的话,安装速度会非常慢,有可能需要几个小时,所以建议不要勾选。等MongoDB安装好之后,在单独安装可视化工具。 - 安装 注:不要安装客户端compass
- 启动服务端 进入mongodb安装目录 bin目录打开命令行窗口 执行 mongod -dbpath ../data/db 注: 如果没有成功,手动启动,到服务启动
- 启动命令行客户端 进入mongodb安装目录bin, 执行mongo 命令
- 建议配置环境变量,这样不管在哪个盘符下都可以直接使用mongo命令
数据常用库命令
首先进入mongo按装bin目录,打开命令窗口cmd,输入 mongo , 连接到mongo服务端
如果配置了path环境变量,可在任意目录启动
- show databases - 显示所有数据库 show dbs 简写
- 创建数据库 use 数据库名 use h52208db ,如果数据库不存在,则创建数据库,否则切换到指定数据库。
- 查看数据库 db
- 显示所有集合collection show collections
- 创建集合 创建集合collection,插入文档数据
- 插入文档数据时创建 db..insert(doc)
- 直接创建 db.createCollection('新建集合名')
- 插入文档数据 db..insert(doc) db.users.insert({name:'jack',age:18})
- 查看数据 db.users.find() 查看所有数据
- 查看name是jack的数据 db.users.find({name:'jack'})
- 修改数据 db.users.update({name:'jack'},{$set:{age:28}})
- 删除文档数据 db.users.remove({name:'jack'})
- 删除集合 db.users.drop()
- 删除数据库 db.dropDatabase()
使用mongoose第三方库操作mongodb数据库
- 下载mongoose库 npm i mongoose
- 引入mongoose创建连接
两个核心概念点:
Mongoose 的一切始于 Schema,Schema表示数据库表结构的一种格式。每个 schema 都会映射到一个 MongoDB collection集合(相当于关系数据库中表) ,并定义这个collection里的documet文档的构成。相对于关系数据库, Schema->表结构(字段名 + 约束)
Models 是从 Schema 编译来的构造函数。 它们的实例就代表着可以从数据库保存和读取的 documents文档数据。 从数据库创建和读取 document 的所有操作都是通过 model 进行的。