【发布时间】:2020-04-06 03:52:47
【问题描述】:
我是 NodeJS 的新手,我正在使用以下内容: 表达 猫鼬 护照
您好,我在 MongoDB 中有两个集合,它们彼此无关,它们被称为:
Post
和
User
在 IF 语句中 /home 的获取路径中,我试图从两个集合中查询信息并将它们呈现在 EJS 页面中。我最初的想法是在 var 中为一个模型存储创建 find,然后在呈现页面时在另一个函数中使用它。
以下是相关代码:
app.get("/home", function(req, res){
console.log(req.user._id);
if (req.isAuthenticated()){
// //*Find current logged in user details
User.find({_id: req.user._id}, function(err, users){
var currentUserName = req.user.name
});
//*end
Post.find({}, function(err, posts){
res.render("home", {
startingContent: homeStartingContent,
posts: posts,
currentUser: currentUserName
});
});
} else {
res.redirect("login")
}
});
在我的 js 文件的开头,我已经声明了
var currentUserName
但它没有在 home.ejs 中显示值:
<p><%= currentUser %></p>
它只是空白。
我在这里做错了什么?我认为使用 var 会使其成为全局变量,然后可以在另一个函数中使用?其他帖子建议聚合,但这些集合是完全独立的,彼此无关。
【问题讨论】:
-
您的问题解决了吗?
标签: node.js mongodb express mongoose