【问题标题】:how to retrieve users full data from mongodb using node js如何使用节点 js 从 mongodb 检索用户完整数据
【发布时间】:2018-03-12 03:54:37
【问题描述】:

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

});

});

【问题讨论】:

    标签: html node.js mongodb express mongoose-schema


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 参考错误:/views/profile.ejs:29 27|
          28| 0) {%> >> 29| 30|
        • ID:
        • 31|
        • ID:
        • 32|
        • ID:
        • usersArray is not defined 我在 profile.ejs 中遇到了这个错误,那么如何解决这个问题?@Fcmam5
      • 您使用的是usersArrayuserArray(不带S),请检查服务器端(app.get)和profile.ejs中的变量名
      • 单个用户如何在单个框中设计这些细节? @Fcmam5
      • 对不起,我没明白是什么意思,你能解释一下吗?或者你有什么例子吗?
      • 我在我的管理页面中获得了所有数据,现在如何将单个用户的详细信息一一分开?以及如何为该框添加样式?
      猜你喜欢
      • 2020-09-18
      • 2020-01-22
      • 2022-10-30
      • 2020-07-21
      • 2017-11-30
      • 2017-08-27
      • 2019-05-25
      • 2020-05-06
      • 1970-01-01
      相关资源
      最近更新 更多