更新:
await Product.insertMany(req.body);
正在运作...
由于某种原因,当我通过Postman调用我的API时,猫鼬会保存新文档,但是当我从我的React应用程序中使用fetch调用它时,它将不起作用。
更新文档确实可以,所以我现在有些惊讶……
发生错误:
error message No matching document found for id "5b511d78ed5ea067a3c93e4f"
邮递员设置:
url: localhost:8080/product
method: POST
Content-Type: application/json
Body: raw (application/json)
获取代码:
fetch('http://localhost:8080/product',{
method: 'POST',
credentials: 'include',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(newProduct)
})
.then(res => res.json())
.then(json => {
cb(json);
})
服务器代码
static async post(req, res, next) {
const Product = ProductRouter.getModel();
console.log(req.body);
let newProduct;
try {
newProduct = new Product(req.body);
console.log('newProduct', newProduct);
await newProduct.save();
} catch (e) {
newProduct = e.message;
console.log('error message', e.message);
}
res.locals.setBody({product: newProduct});
next();
}
使用提取时,req.body会被填充并创建一个新产品,由于上面的错误,它只会在“ .save”上崩溃。