我试图使用 mongoose 查找数据库中的所有文档,但我做不到
我想这样做,但我不知道这样做有什么问题
app.get('/users', function (req, res){
User.find({}, 'name', function(err, user){
if(err){
console.log(err);
}else{
res.render('user-list', {
name : user.name
});
console.log('retrieved list of names' + user.name);
}
})
})
当我使用 User.findOne({}, 'name', function(err, user){..
时我取回了我所期望的第一份文件。请解释为什么上面的代码不允许我获取所有文件。我觉得我正在以正确的方式使用它,如 mongoose doc 中所示
编辑
谢谢大家的帮助
我喜欢这样:
app.get('/users', function (req, res){
User.find({}, 'name', function(err, users){
if(err){
console.log(err);
}else{
res.render('user-list', {
name : users.map(function(doc){
return doc.name + "<br>"
})
});
console.log('retrieved list of names' + users.name);
}
})
})
有人能帮我把每个名字换成新的一行吗 "<br>"
显示在页面上,但不会换行 "<br>,Joe<br>,mike<br>"
Jade : 扩展布局
block content
p list of users #{name}
最佳答案
app.get('/users', function (req, res){
User.find({}, 'name', function(err, users){
if(err){
console.log(err);
} else{
res.render('user-list', users);
console.log('retrieved list of names', users.length, users[0].name);
}
})
});
如评论所述,find
可以找到很多对象,因此它返回一个数组,而 findOne
返回单个对象。如上所述进行调整,您应该回到正轨。
关于node.js - 使用 Mongoose 查找所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24816699/