发布请求后,moongose确实保存了文档,但它是空的。
我确实有它的模型,而且这个收藏是存在的。
index.js
const BlogPost = require("./models/BlogPost.js");
BlogPost.js:
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const BlogPostSchema = new Schema({
title: String,
body: String,
});
const BlogPost = mongoose.model("BlogPost", BlogPostSchema);
module.exports = BlogPost;
创建方法:
app.post("/posts/store", (req, res) => {
BlogPost.create(req.body, (error, blogpost) => {
console.log(req.body);
res.redirect("/");
});
});
req.body console.log
结果
{ '”title”': 'aaaa', '”body”': 'bbbbbbbbbb' }
因此,当我console.log
req.body
时,我确实得到了预期的数据,但是blogpost
是空的,并且正在按原样保存。我错过了什么?
您可以创建异步等待函数来向mongoDb发送数据像这样:
app.post("/posts/store", async (req, res) => {
const { title, body } = req.body;
const blog = await BlogPost.create({
title,
body,
});
res.status(201).json({
status: 'success',
data: {
blog,
}
})
});
如果一切正常,则添加deleteres.status(201(.json并添加res.redirect("/"(
如果你不使用Postman,你可以用curl 测试
curl -X POST -H "Content-Type: application/json" -d '{"title":
"titles", "body": "bodys"}' https://localhost:<YOUR_PORT>