当前位置: 首页 > 知识库问答 >
问题:

如何使用节点js从mongob检索用户的完整数据

殳经略
2023-03-14

我得到了一个用户电阻详细资料在我的个人资料页,但如何得到所有用户注册详细资料在我的html个人资料页?

这是我从mongodb数据库获取单用户注册详细信息的代码

app.get(/配置文件,函数(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
        });
  }

});

});

共有2个答案

督瑞
2023-03-14

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

祁承望
2023-03-14

首先你需要查询所有的用户。所以需要用户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>
 类似资料:
  • 问题内容: 如何使用(可能使用和)检索完整目录树? 问题答案: 默认情况下,将用于的第二个参数。这意味着它将仅返回文件。如果要包括文件 和 目录(至少这是我认为的 完整 目录树),则必须执行以下操作: 然后您就可以结束它。如果要返回目录树而不是输出它,则可以将其存储在数组中,例如 您还可以通过执行以下操作来创建没有的数组: 如果只想返回目录,则可以这样:

  • 问题内容: 我正在尝试创建完整路径(如果不存在)。 代码如下: 只要只有一个子目录(例如“ dir1”之类的newDest),此代码就可以很好地工作,但是当存在一个目录路径(“ dir1 / dir2”)时,它将失败并显示 错误:ENOENT,没有这样的文件或目录 我希望能够用最少的代码行来创建完整路径。 我读到fs上有一个递归选项,并像这样尝试过 我觉得递归地创建一个不存在的目录应该很简单。我是

  • 我将一些数据存储为neo4j节点。此节点具有一些关联的C#类未描述的属性,因此在neo4jclient查询返回时不会自动映射回该类。 例如,这个C类: 存储在neo4j中,然后使用以下neo4jclient fluent代码检索: 将用名称和编号填充Node对象,但保留对CustomClass对象的空引用。 为了解决这个问题,我将CustomClass序列化为JSON字符串,并将其作为字符串属性存

  • 我有一个Vuejs应用程序,我试图添加谷歌认证。我使用这个插件https://www.npmjs.com/package/vue-google-oauth2在前端生成授权代码,然后将其发送到我的后端,以便它可以获得用户凭据。 以下是前端的代码: 在此之前,我成功地获取了授权代码,并将其发送到使用node编写的后端。js基于官方谷歌文档。https://github.com/googleapis/g

  • 我正在使用Mongoostic,它工作得很好,但我面临的问题是,如何从方法并将其传递给方法? 例如: 你们是怎么解决这个问题的?这是一个非常基本的搜索,用户搜索时,它会将用户重定向到另一个页面,在那里它要么显示已找到的结果,要么未找到。

  • 问题内容: 我正在创建一个登录身份验证页面,用户将在其中输入活动目录的用户名和密码,并使用NodeJS进行检查,以查看其是否有效,但是我一直在获取 要么 当我尝试搜索用户名和密码时,我的代码如下: 我正在使用:https : //github.com/jeremycx/node-LDAP,假设用户输入的用户名是hhill 有人对我做错了什么建议吗? 更新 如果有人需要,这是我想出的解决方案,借助以