Javascript 无法读取属性';名称';ejs文件(node.js)中的空值

Javascript 无法读取属性';名称';ejs文件(node.js)中的空值,javascript,node.js,mongodb,mongoose,ejs,Javascript,Node.js,Mongodb,Mongoose,Ejs,我正在使用mongodb创建一个node.js web应用程序,其中评论与帖子关联。我收到一个错误“无法读取null的属性'name' 这是我的show.ejs模板代码- <% include partials/header %> <h1><%=Post.name%></h1> <img src= "<%= Post.image%>" > <p> <%= Post.description %> <

我正在使用mongodb创建一个node.js web应用程序,其中评论与帖子关联。我收到一个错误“无法读取null的属性'name'

这是我的show.ejs模板代码-

<% include partials/header %>
<h1><%=Post.name%></h1>
<img src= "<%= Post.image%>" >
<p> <%= Post.description %> </p>
<% include partials/footer %>
后模式-

var commentSchema = new mongoose.Schema({
text : String,
author : String
});
module.exports = mongoose.model("comment", commentSchema);
由于某种原因,当我尝试访问show route时,我得到了错误信息,并且
我似乎不知道是什么引起的

您可以尝试此
Post[0]。fieldname
beacause
Post
可以是数组

<% include partials/header %>
<h1><%=Post[0].name%></h1>
<img src= "<%= Post[0].image%>" >
<p> <%= Post[0].description %> </p>
<% include partials/footer %>

" >


这是因为您用注释填充了集合。解决此问题的简单方法是通过进入mongodb shell删除集合

您可以通过在终端中键入
mongo
进入mongoDB Shell

然后直接进入存储评论的数据库

use camp_ground
在您的情况下,名称会有所不同

可以通过运行此命令查看您的收藏
show collections

在该集合列表中,只需查看您先前创建的带有“注释”的名称

通过运行以下命令删除此集合
db.comments.Drop()

你应该

真的


我出现错误是因为我没有启动mongodb服务器。一旦我通过在cmd中输入命令“mongod”启动了mongo服务器,它就可以正常工作。

我遇到同样的错误,只要重新启动服务器,当你遇到错误时,只需按chrome上的back page按钮并在那里刷新。你就不会再遇到它了

var commentSchema = new mongoose.Schema({
text : String,
author : String
});
module.exports = mongoose.model("comment", commentSchema);
<% include partials/header %>
<h1><%=Post[0].name%></h1>
<img src= "<%= Post[0].image%>" >
<p> <%= Post[0].description %> </p>
<% include partials/footer %>
use camp_ground