Express操作MongoDB【一.Express框架通过Mongoose模块操作MongoDB数据库;二.在接口中间件中使用Mongoose模块】

本文详细介绍了如何使用Express结合Mongoose模块来操作MongoDB数据库,包括MongoDB的数据格式、Mongoose的原理及使用,以及Mongoose的增删改查基本操作。在接口中间件中应用Mongoose,实现高效的数据交互。
摘要由CSDN通过智能技术生成

目录

一.Express框架通过Mongoose模块操作MongoDB数据库

1.MongoDB数据库:

(1)存放数据的格式:key:value

(2)数据库(database)---集合(collection)---文档(document)

(3)是众多NoSQL数据库中的一款:非关系型数据库,不能使用SQL语句对数据库进行操作

2.Mongoose模块

(1)是一个对象模型工具,是对Node.js环境下操作MongoDB数据库进行了封装,可以将MongDB数据库中的数据转换成JavaScript对象供用户使用

(2)名词:

(3)命名规范:驼峰命名,例如:

3.Mongoose模块的使用

(1)安装:npm install mongoose

(2)创建数据库连接文件

(3)创建Schema(表示集合的骨架),再由Schema创建Model

4.mongoose的基本操作

(1)插入文档:save方法

(2)删除文档:findByIdAndDelete,直接通过Model调用,作用是根据文档的_id属性删除

(3)删除文档:deleteOne,直接通过Model调用,根据给定的条件删除文档

(4)更新文档:findOneAndUpdate,直接通过Model调用

        findOneAndUpdate(条件,更新语句,{},回调函数)

(5)updateOne(条件,更新语句,回调函数)

(6)查询所有:find()

(7)按_id查询:findById()

(8)多条件查询:findOne() ===> 返回满足条件的第一条记录

(9)查询集合中的文档数(记录数):count

二.在接口中间件中使用Mongoose模块


一.Express框架通过Mongoose模块操作MongoDB数据库

1.MongoDB数据库:

(1)存放数据的格式:key:value

(2)数据库(database)---集合(collection)---文档(document)

(3)是众多NoSQL数据库中的一款:非关系型数据库,不能使用SQL语句对数据库进行操作

2.Mongoose模块

(1)是一个对象模型工具,是对Node.js环境下操作MongoDB数据库进行了封装,可以将MongDB数据库中的数据转换成JavaScript对象供用户使用

(2)名词:

a.Schema:它是一种以文件形式存储的数据库模型骨架,不具备对数据库操作的能力,仅仅只是数据库在程序片段中的一种表现,可以理解为表结构,实现一种映射。

b.Model:由Schema发布生成的模型,具有抽象属性和行为的数据库操作

c.Entity:由Model创建的实体,它的操作也会影响数据库

(3)命名规范:驼峰命名,例如:

        PersonSchema:Person对应的Schema,Person的文本属性(表结构)

        PersonModel:Person对应的模型。

        PersonEntity:Person对应的实体

Schema生成Model,由Model生成Entity,Model和Entity都可以操作数据库,Model的可操作性更强

3.Mongoose模块的使用

(1)安装:npm install mongoose

(2)创建数据库连接文件

//1.导入mongooose模块
const Mongoose = require('mongoose');
//2.定义MongDB数据库的连接字符串:协议://主机地址:端口号/数据库名
const mdb_url = 'mongodb://localhost:27017/my_test'
//3.建立和MongDB数据库的连接:
// useNewUrlParser:true  是否使用新的url地址转换方式
// useUnifiedTopology:true  是否使用新的用户安全策略
Mongoose.connect(mdb_url,{useNewUrlParser:true,useUnifiedTopology:true})
// 4.对连接过程进行处理
//4.1建立连接-----连接成功会触发connected事件
Mongoose.connection.on('connected',function (){
    console.log('数据库连接成功!!!连接地址是:'+mdb_url)
})
//4.2连接异常------回调函数的参数中保存了异常的信息
Mongoose.connection.on('error',function (err){
    console.log('数据库连接异常!!!'+err)
})
//4.3断开连接
Mongoose.connection.on('disconnected',function (){
    console.log('断开数据库的连接!!!')
})

//5.导出Mongoose
module.exports = Mongoose

(3)创建Schema(表示集合的骨架),再由Schema创建Model

a.Schema:定义的是与集合对应的骨架。Schema中的属性对应的是MongoDB中集合的key

b.Model:是Schema的实例,用于操作MongoDB中的集合中的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值