express+MongoDB实现增删改查

认识Express

 yarn add express -S

根目录下新建server.js
书写js代码,node serve.js即可成功运行

快速上手路由

server.js

const express = require('express')

const app = express()

app.get('/', function (req, res) {
    res.send([
        { user: 'zhangsan' }
    ])
})

app.get('/about', function (req, res) {
    res.send(
        { page: 'About us' }
    )
})

app.get('/products', function (req, res) {
    res.send([
        { id: 1, title: 'Product A' },
        { id: 2, title: 'Product b' },
        { id: 3, title: 'Product c' },
    ])
})

app.listen(3000, () => {
    console.log('http://localhost:3000')
})

在这里插入图片描述

静态文件托管

在这里插入图片描述

在这里插入图片描述

CORS跨域请求

在这里插入图片描述

npm i cors

||

yarn add cors
app.use(require('cors')())

MongoDB基础

npm i mongoose

server.js 部分代码

const mongoose = require('mongoose')
mongoose.set('strictQuery', false)
mongoose.connect('mongodb://127.0.0.1:27017/express-test', { useNewUrlParser: true, useUnifiedTopology: true })
// 定义模型
const Product = mongoose.model('Product', new mongoose.Schema({
    title: String
}))
// Product.insertMany([
//     { title: '产品1' },
//     { title: '产品2' },
//     { title: '产品3' },
// ])

app.use(require('cors')())
app.use('/', express.static('public'))


app.get('/products', async function (req, res) {
    res.send(await Product.find())
})

find()

MongoDB查询

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述通过id来查询

app.get('/products/:id', async function (req, res) {
    const data = await Product.findById(req.params.id)
    res.send(data)
})

在这里插入图片描述

MongDB新增产品和POST请求

app.post('/products', async function (req, res) {
    const data = req.body
    const product = await Product.create(data)
    res.send(product)
})

在这里插入图片描述
在根目录下新建test.http

@uri=http://localhost:3000/

GET {{uri}}products
###

GET {{uri}}products/63c2d778fe577e541a190078

###

POST {{uri}}products
Content-Type: application/json

{
    "title": "产品4"
}

在这里插入图片描述

MongoDB修改产品和PUT请求

app.put('/products/:id', async function (req, res) {
    const product = await Product.findById(req.params.id)
    product.title = req.body.title
    await product.save()
    res.send(product)
})

DE

MongoDB删除产品和DELETE请求

app.delete('/products/:id', async function (req, res) {
    const product = await Product.findById(req.params.id)
    await product.remove()
    res.send({
        success: true
    })
})

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lalaxuan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值