Nodejs利用express框架写一套数据库增删改查接口

1.首先创建一个Admin.js文件,引入模块,并实例化

const express = require('express')
const router = express.Router()

2.重新创建一个Model.js文件,创建一个数据模型,规定参数,将构造好的模块抛出

//数据模型
const mongoose = require('mongoose')
let UserSchema = new mongoose.Schema({
    name: { type: String, required: true }, 
    Gender: { type: String, required: true }, 
    phone: { type: String, required: true },
    mail:{ type: String,required:true},
    address:{ type: String,required:true},
    time:{ type: String,required:true}
});
//  将schema转化为数据模型 
let user = mongoose.model('UserAdmins', UserSchema);
module.exports = user

3.将Model.js文件引入到Admin.js

const userModel = require('../db/model/UserAdminModel') //数据模型

4.开始写接口

4.1

// 添加用户
router.post('/addUser', (req, res) => {
    let { name, Gender, phone, mail, address, time } = req.body;
    userModel.insertMany({ name: name, Gender: Gender, phone: phone, mail: mail, address: address, time: time})
    .then((data) => {
        res.send({ err: 0, msg: 'add ok', data: null })
    })
    .catch((err) => {
        res.send({ err: -1, msg: err._message, data: null })
    })
})

4.2

// 删除用户
router.post('/delUser',(req,res)=>{
    var _id = req.body._id;
    userModel.remove({_id:_id})
    .then((data) => {
        res.send({ err: 0, msg: 'del ok', data: null })
    })
    .catch((err) => {
        res.send({ err: -1, msg: err._message, data: null })
    })
})

4.3 改

// 修改信息
router.post('/updataUser', (req, res) => {
    let _id = req.body._id;
    let { name, Gender, phone, mail, address, time } = req.body;
    userModel.updateOne({ _id: _id }, { name, Gender, phone, mail, address, time })
    .then((data) => {
        res.send({ err: 0, msg: 'updata ok', data: null })
    })
    .catch((err) => {
        res.send({ err: -1, msg: err._message, data: null })
    })
})

4.4 查

// 查询信息(查询全部)
router.post('/getUser', (req, res) => {
    userModel.find()
    .then((data) => {
        res.send({ err: 0, msg: 'get ok', data: data })
    })
    .catch((err) => {
        res.send({ err: -1, msg: err._message, data: null })
    })
})
//模糊查询  关键字查询
router.post('/getUserByKw', (req, res) => {
    let { keyword } = req.body
    let reg = new RegExp(keyword)
    userModel.find({ $or: [{ name: { $regex: reg } }, { phone: { $regex: reg } }] })
    .then((data) => {
        console.log(data)
        res.send({ err: 0, msg: 'select ok', data: data })
    })
    .catch((err) => {
        res.send({ err: -1, msg: err._message, data: null })
    })
})
//根据id 查询一条数据
router.post('/getUserById', (req, res) => {
    let { _id } = req.body
    userModel.find({ _id })
    .then((data) => {
        res.send({ err: 0, msg: 'select ok', data: data })
    })
    .catch((err) => {
        res.send({ err: -1, msg: err._message, data: null })
    })
})

将数据的增删改查接口抛出:

module.exports = router

下边附上源码截图:

开启服务器文件 server.js
在这里插入图片描述
数据模型文件 Model.js
在这里插入图片描述
接下来就是一个路由文件 Admin.js 接口文件
将上边增删改查代码复制到 Admin.js文件然后 进行抛出,
在server.js服务器文件中开启路由配置即可,一套完整的增删改查接口已经写好;(接口文件太长了,懒得截图了,抱歉 - - )

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值