[英]Postman PUT method not updating data
Put 方法实际上以 200 OK 响应,但 db 中的数据没有更新,我正在使用 mongoDB。 这是 product.js 文件:
router.put('/products/:id', async (req, res) => {
try {
let product = await Product.findOneAndUpdate({_id: req.params.id}, {
$set: {
title: req.body.title,
price: req.body.price
}
}, {upsert: true})
res.json({
success: true,
updatedProduct: product
})
} catch(err) {
res.status(500).json({
success: false,
message: err.message
})
}
})
这是邮递员的图像,响应是 200OK,但是当我刷新并检查 mongoDB 时,数据仍然相同。 https://i.stack.imgur.com/asUoV.png
这是来自 server.js 文件的代码。
const express = require('express')
const morgan = require('morgan')
const bodyParser = require('body-parser')
const mongoose = require('mongoose')
const dotenv = require('dotenv')
// importing user
const User = require('./models/user')
// env file
dotenv.config()
const app = express()
// connect mongoDB
mongoose.connect(process.env.DATABASE, (err) => {
if(err) {
console.log(err)
} else {
console.log('connected to database')
}
})
// middleware
app.use(morgan('dev'))
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: false }))
// require apis
const productRoutes = require('./routes/product')
const categorytRoutes = require('./routes/category')
const ownerRoutes = require('./routes/owner')
app.use('/api', productRoutes)
app.use('/api', categorytRoutes)
app.use('/api', ownerRoutes)
// Initial response
app.get('/', function(req, res, next) {
res.send("Hello world");
})
app.listen(8080, (err) => {
if(err) {
console.log(err)
}
})
router.put('/products/:id', async (req, res) => {
try {
const updatedProduct = await Product.updateOne({ _id: req.params.id},
{ $set: { title: req.body.title,price: req.body.price });
res.status(200).send("updated successfully");}
catch (err) {
res.status(400).json({ message: err.message });
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.