MongoDB连接正常但无法存储博客标题和正文,请求技术协助
问题:MongoDB连接正常但博客标题与正文无法存储
我是一名初学者,正在通过简易博客项目学习MongoDB、Node.js和Express。目前遇到问题:MongoDB连接正常,但提交的博客标题和正文无法存储到数据库中,怀疑index.js代码存在问题,尝试修复未解决,恳请帮忙排查。
MongoDB Compass显示集合文档仅包含默认的_id和__v字段,没有存储提交的标题与正文内容。
排查建议:
- 检查Schema定义:确认
index.js中的数据模型Schema已正确声明title、content(或对应业务字段名),字段类型设为String,且没有因拼写错误导致无法匹配前端提交的字段。 - 验证请求体解析:确保已在Express中配置
express.urlencoded({ extended: true })或express.json()解析表单提交的请求体,否则req.body会为空,无法获取提交的内容。 - 检查文档创建逻辑:确认创建博客文档时,正确将
req.body中的对应字段传入模型实例,比如:
避免出现未传入字段就调用const Post = require('./models/Post'); // 正确写法示例 app.post('/posts', (req, res) => { const newPost = new Post({ title: req.body.title, content: req.body.content }); newPost.save() .then(() => res.redirect('/')) .catch(err => console.log(err)); });save()的情况。 - 添加错误捕获:在
save()方法后增加错误回调,打印具体错误信息,比如字段验证失败、权限不足等,定位核心问题:newPost.save().catch(err => console.error('存储失败详情:', err)); - 核对集合名称:确认模型对应的MongoDB集合名称,与你在Compass中查看的集合一致,避免内容存到了其他集合中。
内容的提问来源于stack exchange,提问作者pia punya Munirah
相关产品推荐
相关产品推荐

