Mongoose保存空对象



发布请求后,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.logreq.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>

最新更新