如何使用节点 js 从 mongodb 检索用户完整数据
Posted
技术标签:
【中文标题】如何使用节点 js 从 mongodb 检索用户完整数据【英文标题】:how to retrieve users full data from mongodb using node js 【发布时间】: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
);
);
);
【问题讨论】:
【参考方案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 您使用的是usersArray
和userArray
(不带S),请检查服务器端(app.get)和profile.ejs
中的变量名
单个用户如何在单个框中设计这些细节? @Fcmam5
对不起,我没明白是什么意思,你能解释一下吗?或者你有什么例子吗?
我在我的管理页面中获得了所有数据,现在如何将单个用户的详细信息一一分开?以及如何为该框添加样式?以上是关于如何使用节点 js 从 mongodb 检索用户完整数据的主要内容,如果未能解决你的问题,请参考以下文章
如何将 mongodb 数据从服务器(node.js)检索到我的 AngularJS 路由
如何在 Spring Rest Call 中使用 GridFS 从 Mongodb 发送和检索图像?