MongoDB初识以及搭配node使用
关系型和非关系型数据库
关系型数据库
表就是关系,或者说表与表之间存在关系
- 所有的关系型数据库都需要通过
sql
语言来操作 - 所有的关系型数据库在操作之前都需要设计表结构
- 而且数据表还支持约束
- 唯一的
- 主键
- 默认值
- 非空
非关系型数据库
- 非关系型数据库非常的灵活
- 有的关系型数据库就是key-value对
- 但MongDB是长得最像关系型数据库的非关系型数据库
- 数据库 -》 数据库
- 数据表 -》 集合(数组)
- 表记录 -》文档对象
一个数据库中可以有多个数据库,一个数据库中可以有多个集合(数组),一个集合中可以有多个文档(表记录)
1 | //也就是说你可以任意的往里面存数据,没有结构性这么一说 |
安装
下载
🔺环境配置(安装)
node使用(npm)
1 | npm i mongoose |
检测环境
控制台输入mongod --version
启动和关闭数据库
启动数据库服务
1 | mongod --dbpath D:\mongodb\data\db |
关闭服务
1 | 1.在开启服务的控制台,直接Ctrl+C; |
启动数据库,连接本地MongoDB服务
1 | mongo |
退出
1 | exit |
基本命令
show dbs
查看数据库列表(数据库中的所有数据库)
db
查看当前连接的数据库
use 数据库名称
切换到指定的数据库(没有会新建)
show collections
查看当前目录下的数据表
db.表名.find()
查看表中信息
InsertOne()
插入数据(对象形式,命名字符串加双引号)
dropDatabase()
删除数据库
🔺Node中操作MongoDB
使用官网mongoDB包操作:
第三方包
mongoose
操作MongoDB数据库官方学习文档
mongoose初识
1 | //引包 |
设计文档结构(表结构)
1 | //引用架构对象 |
数据添加(增)
1 | //添加数据 |
数据删除(删)
1 | Cat.deleteOne({name:'Zild'}, function(err,ret){ |
数据更改(改)
- 根据且只能根据id
1 | Cat.where({ _id: "5ec9c7012909a22e7c89b5ac" }).update({ name: 'Zild', age: 8 }, function(err, ret) { |
- 根据文档(记录)
1 | Cat.findOneAndUpdate({ name: 'Zild' }, { name: 'Zild1', age: 9 }, function(err, ret) { |
数据查询(查)
查询全部
1 | Cat.find(function(err, ret) { |
查询指定属性的全部对象
1 | Cat.find({ name: 'Zild' }, function(err, ret) { |
查询指定属性的单个对象
1 | Cat.findOne({ name: 'Zild' }, function(err, ret) { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Dong!
评论