按作者查看文章功能异常:前端未展示MongoDB数据
排查思路
- 先确认后端是否正确传递了
posts数据:在模板里临时添加<%= JSON.stringify(posts) %>,刷新页面看有没有输出文章数组;或者在后端路由里打印查询MongoDB的结果,确认查询到了数据且赋值给了posts变量。 - 检查MongoDB查询逻辑:比如是不是误加了过滤条件(如只查草稿状态、错误的用户ID),导致本该展示的文章没被查出来。
- 排查模板渲染的JS错误:打开浏览器控制台(F12),看有没有
posts is undefined、posts.forEach is not a function这类报错——如果后端传的不是数组(比如单个对象、null),forEach会直接失效。 - 校验文章字段的正确性:
- 检查MongoDB中文章文档的字段名,比如是不是把
created_at写成了createdDate,title有没有拼写错误; - 重点看
post.author.avatar:如果MongoDB里存的是作者的ObjectId而非嵌套对象,后端必须用populate()方法关联查询作者数据,否则post.author是字符串,访问avatar会报错,导致整个列表渲染中断。
- 检查MongoDB中文章文档的字段名,比如是不是把
- 检查日期字段类型:如果MongoDB里的
createdDate是字符串而非Date类型,调用getMonth()、getDate()会报错,需要后端将其转为Date对象后再传递给模板。 - 排除CSS隐藏问题:用浏览器开发者工具查看DOM结构,确认有没有生成
<a>标签,只是被CSS样式(如display: none)隐藏了。
内容的提问来源于stack exchange,提问作者jcode
相关产品推荐
相关产品推荐

