Node.js 如何在.ejs文件上显示所有用户数据库(mongodb)详细信息
我有一个node.js网站,我用本教程构建: 现在,我希望在我的一个视图中打印/显示所有用户数据 在routes.js中:Node.js 如何在.ejs文件上显示所有用户数据库(mongodb)详细信息,node.js,mongodb,express,mongoose,ejs,Node.js,Mongodb,Express,Mongoose,Ejs,我有一个node.js网站,我用本教程构建: 现在,我希望在我的一个视图中打印/显示所有用户数据 在routes.js中: var User = require('../app/models/user'); //the connection to users database app.get('/profile', isLoggedIn, function (req, res) { res.render('profile.ejs', { Users: User // g
var User = require('../app/models/user'); //the connection to users database
app.get('/profile', isLoggedIn, function (req, res) {
res.render('profile.ejs', {
Users: User // get the user out of session and pass to template
});
});
这在my profile.ejs文件中:
<ul>
<% Users.forEach( function(err, user) { %>
<li><%= user %> </li>
<% }); %>
我得到一个错误:“undefined不是一个函数”,因为行
我做错了什么?您需要通过模型的查询功能实际查询用户集合,该功能将在执行时返回一组用户文档,即
var User = require('../app/models/user'); //the connection to users database
app.get('/profile', isLoggedIn, function (req, res) {
User.find({}).exec(function(err, users) {
if (err) throw err;
res.render('profile.ejs', { "users": users });
}
});
然后将profile.ejs中的用户文档列表呈现为:
<% users.forEach(function (user) { %>
<li>
<h1><%= user.name %></h1>
</li>
<% }) %>