首页 > 解决方案 > mongoose.find() 返回未定义

问题描述

[MongoDB] 我正在尝试name从集合中的所有文档中获取对象。但console.log(users.name)返回未定义。

Data.find({}, 'name', function (err, users) {
    if (err) {
    console.log(err);
    } else {
    console.log(users.name)
    }
})

但是,如果我尝试记录users.length它工作正常。只users.name返回未定义

标签: node.jsdatabasemongodbmongoose

解决方案


第二个参数必须是一个对象,而不仅仅是一个字符串。并且还.find返回数组,而不是对象,因此要么遍历数组,要么执行console.log(users[0].name)

Data.find({}, { name: 1 }, function (err, users) {
  if (err) {
    console.log(err);
  } else {
    console.log(users.name);
  }
});

推荐阅读