Node后端基础7-简单的增删改查接口

今天我们就来说一下四种较为简单的Node后端API,增删改查。

一、mongoose

上一篇文章我们提到了一个知识点mongoose,是一个模块 : 感兴趣的兄弟可以看一下一下官网 Mongoose ODM v8.1.1icon-default.png?t=N7T8https://mongoosejs.com/express服务器下操作mongodb的模块有两个 : mongodb(原始)   mongoose

为什么要使用mongoose?

首先mongoose可以为文档创建一个模式结构Schema    

        可以对模型中的对象/文档进行验证 

        数据可以通过类型转换 转换为对象模型

        比Node原生的MongoDB驱动更容易

mysql mongodb:

        表-------集合

        行———文档  

        列-------字段

mongoose模块的使用方法如下:

        1-下载  npm i mongoose

        2-导入mongoose模块  require()

        3-测试连接数据库模块

什么是Schema?

 mongoose提供了三种新的对象

Schema(模式对象)

     Schema对象定义约束了数据库中的文档结构

Model

     Model对象作为集合中的所有文档的表示,相当于MongoDB数据库中的集合collection

Document  

     Document表示集合中的具体文档,相当于集合中的一个具体的文档  

这三个的创建是由先后顺序的:

        先创建 Schema 

        再有 Model 

        最后有Document

mongodb数据库 一般只需要连接一次  当项目关闭,服务器停止,才会断开的

使用mongoose创建表(将表映射到数据库)的具体步骤:

第一步 : 导入封装的连接数据库方法 db.js

     const mongoose = require("./db")

第二步 :将mongoose.Schema赋值给一个变量  也就是创建一个Schema类 

let Schema = mongoose.Schema;

第三步 :  创建Schema(模式)对象

注意这里字段可以指定数据类型 或 默认值  或 唯一性等  字段的值就是一个对象,对象中指定字段的属性

字段的数据类型 : String  Number Date 等等

{

     type:类型

     default : 默认值

     unique : 唯一性 true 表示唯一

}

例如 :       

let stuSchema = new Schema({

  name : String,

  age : Number,

  sex : {

      type : String,

      default : "女"

    },

  addr : String

})

 mongoose 的所有合法 SchemaTypes:

  • String

  • Number

  • Date

  • Buffer

  • Boolean

  • Mixed

  • ObjectId

  • Array 

  • Decimal128

mongoose数据校验 : 

required: 表示这个数据必须传入

max: 用于 Number 类型数据,最大值

min: 用于 Number 类型数据,最小值

default : 默认值

match:增加的数据必须符合 match(正则)的规则  

maxlength:String最大长度

minlength:String 最小长度

第四步 : 通过Schema来创建Model

Model代表的是数据库中的集合 ,通过Model才能对数据库进行操作

mongoose.model(modelName,schema,实际的表名modelNames)

modelName 就是要映射的集合名 mongoose会自动将集合变成复数

第三个参数是实际的表名 可以省略 会自动生成第一个参数的复数形式

let StuModel = mongoose.model("student",stuSchema)

第五步 : 运行该文件  会在数据库中创建一个students的一个集合

上代码!!

Node后端基础7-简单的增删改查接口_第1张图片

最后将userModel暴露就行。

二、增删改查接口

 

添加方法

Model.create(docs)

-用来创建一个或多个文档并添加到数据库中

参数

     docs 可以是一个文档对象,也可以是一个文档对象的数组

Node后端基础7-简单的增删改查接口_第2张图片

查询方法

Model.find(条件,[投影],查询选项,function(err,docs){})  查询所有符合条件的文档  返回值是一个数组

投影表示 需要获取的字段, 查询确定的列  两种方式{name:1,age:1,_id:0} 或者 "name age -_id"

第三个参数 查询的其它选项,一般用于分页查询 {skip:3,limit:1}

Model.findById(id,同上)  根据文档的id属性查询文档

Model.findOne(同上) 查询符合条件的第一个文档

总结参数

第一个参数:查询条件 {}

第二个参数:投影 {}  查询指定列

第三个参数:查询选项  skip limit  {}

第四个参数 :必选参数 回调函数  ,查询结果会通过回调函数返回  ,没有这个参数,就获取不到查询的结果

注意:

通过find查询的结果,返回的对象,就是Document文档对象

Document文档对象是Model的实例   console.log( doc instanceof StuModel )

Node后端基础7-简单的增删改查接口_第3张图片

修改

Model.updateMany(修改条件,修改后的对象,回调函数 )

Model.updateOne(同上) 用来修改一个或多个文档

Node后端基础7-简单的增删改查接口_第4张图片

删除 remove()

Model.remove(条件,回调)  根据条件删除

Model.deleteOne(条件,回调) 删除一条

Model.deleteMany(条件,回调) 删除多条

Node后端基础7-简单的增删改查接口_第5张图片

以上就是简单的增删改查接口

希望本篇文章可以帮助到大家,有什么问题可以在评论区说出来,感谢观看!!!

你可能感兴趣的:(node.js)