使用猫鼬查找所有文档

jac*_*ank 3 mongoose mongodb node.js

我正在尝试使用 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);
        }
    })
})
Run Code Online (Sandbox Code Playgroud)

当我使用时,User.findOne({}, 'name', function(err, user){..我会返回第一个文档,这正是我所期望的。请解释为什么上面的代码不允许我获取所有文件。我觉得我正在以正确的方式使用它,如猫鼬文档中所示

编辑

谢谢你们的帮助

我是这样的:

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);
        }
    })
})
Run Code Online (Sandbox Code Playgroud)

有人可以帮我把每个名字都"<br>"显示在页面上的新行上,但它不会换行"<br>,Joe<br>,mike<br>"

玉:扩展布局

block content

    p list of users #{name} 
Run Code Online (Sandbox Code Playgroud)

Pet*_*ons 6

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);
        }
    })
});
Run Code Online (Sandbox Code Playgroud)

正如评论中所说,find可以找到许多对象,因此它返回一个数组,与findOne返回单个对象相反。如上所述进行调整,您应该回到正轨。