繁体   English   中英

如何使用 node js 从 mongodb 中检索用户的完整数据

[英]how to retrieve users full data from mongodb using node js

我的个人资料页面中有一个用户电阻详细信息,但如何在我的 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
        });
  }

});

});

使用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

首先,您需要查询所有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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM