Javascript 无法使用mongoose从数据库中仅检索名称

Javascript 无法使用mongoose从数据库中仅检索名称,javascript,node.js,mongodb,express,mongoose,Javascript,Node.js,Mongodb,Express,Mongoose,我想获取数据库中所有名称键的值。我只有一个key字段,它是db的每个文档中的name key。这是代码。我最需要帮助的代码是从 user.find{},'name',functionerr,users{ 当我使用user.name时,我没有定义 当我使用var html=All users+users+时,我会得到对象/文档的列表。我只需要名称的值 目标:当用户输入名称并提交时。下一页显示数据库中的所有名称,包括刚输入的名称 mongoose.connect('mongodb://localho

我想获取数据库中所有名称键的值。我只有一个key字段,它是db的每个文档中的name key。这是代码。我最需要帮助的代码是从

user.find{},'name',functionerr,users{

当我使用user.name时,我没有定义

当我使用var html=All users+users+时,我会得到对象/文档的列表。我只需要名称的值

目标:当用户输入名称并提交时。下一页显示数据库中的所有名称,包括刚输入的名称

mongoose.connect('mongodb://localhost/Company');

var Schema = new mongoose.Schema({
    name : String
})

var user = mongoose.model('emp', Schema);

app.get('/', function(req, res){
    var html = '<form action="/" method = "post">' + 
                'Enter your name:' + 
                '<input type = "text" name = "userName" placeholder= "...." />'+
                '<br>' + 
                '<button type = "submit">Submit</button>' +
                '</form>';
    res.send(html);
});

app.post('/', function(req, res){
    var html = "";
    var userName = req.body.userName;

    new user({
        name : req.body.userName
    }).save(function(err, doc){
     if(err){
        res.json(err);
     } else{
        user.findOne({'name' : userName }, 'name', function(err, user){
            if(err) return handleError(err);
    var html = "Hello: " + user.name + '.<br>' +
                '<a href="/">Try again</a>';

        });
     }

     // here is the code I need help with
     user.find({}, 'name', function(err, users){
        var html = "All users" + users.name + '<br>';
        res.send(html);
     });



    })
});
var server = app.listen(80, function(){
    console.log('Listening on port %d', server.address().port);
})
将“名称”选择器添加到find调用中会限制用户数组中文档的属性,但它仍然是一个文档对象数组,而不是字符串。要将其映射到仅包含名称字符串的数组,可以调用所有数组中可用的JavaScript函数:

 user.find({}, 'name', function(err, users){
    var html = "All users" + users.map(function(doc) {
        return doc.name + '<br>';
    });
    res.send(html);
 });

我知道下划线有一个名为Pulk的方法,它可以实现从对象集合中获取所有名称对象的目的。Mongo模型列表可能与该方法一起提供,但我不确定

_.pluck([{name: 'jo', hair: 'brown'}, {name: 'cody', hair: 'blond'}],'name')

=> ['jo','cody']

您可以在mongo系列中尝试一下。

谢谢您的回复,这很有效。在结束问题之前,我只想看看是否有其他方法可以做到这一点。