我在个人资料页面中有一个用户电阻器详细信息但是如何在我的html配置文件页面中获取所有用户的注册表详细信息?
这是我的一个用户注册详细信息从mongodb数据库获取代码
app.get(' / profile',function(req,res){
User.findOne(function(err,user){
if (err)
return done(err);
// check to see if theres already a user with that email
if (user) {
console.log("THIS : " + user.country);
res.render('profile.ejs', {
user: user
});
}
});
});
答案 0 :(得分:1)
首先,您需要查询所有users
。因此,您需要使用User.find
来返回数组,而不是User.findOne
。
app.get('/profile', function(req, res) {
User.find({}, function(err, Users){
if (err)
return done(err);
if (Users) {
console.log("Users count : " + user.length);
res.render('profile.ejs', {
usersArray: Users
});
}
});
});
然后你需要设置你的profile.ejs
以显示所有对象,你需要一个循环。
<h3>My users IDs are: </h3>
<ul>
<% if (typeof usersArray !== 'undefined' && usersArray.length > 0) {%>
<%for (var i = 0; i < usersArray.length; i++) { %>
<li>ID: <%= usersArray[i]._id %></li>
<%}%>
<% } %>
</ul>
答案 1 :(得分:0)
使用find
代替findOne
findOne
将返回与查询匹配的第一个结果(在您的情况下,没有查询,因此用户模型的第一个结果)
User.find({}, function(err,users){
if (err & !users) { ... } // error
// loop over users array
});
https://mongodb.github.io/node-mongodb-native/api-generated/collection.html#find
https://mongodb.github.io/node-mongodb-native/api-generated/collection.html#findOne