如何使用节点 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
将 return 与查询匹配的第一个结果(在您的情况下没有查询,因此第一个结果来自用户模型)
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
其中 returns 一个数组,而不是 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>
我的个人资料页面中有一个用户注册器详细信息,但是如何在我的 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
将 return 与查询匹配的第一个结果(在您的情况下没有查询,因此第一个结果来自用户模型)
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
其中 returns 一个数组,而不是 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>