javascript - 从对象返回未定义

标签 javascript node.js

在下面的代码中,当我尝试控制台记录数据对象时,它会返回正确的用户名和密码,如下所示。

[ { _id: 5b7d6366db5064296cbeb79c,
    username: 'ajith',
    password: 'sdf2343@3e!',
    __v: 0 } ]

但是 data.username 的控制台日志返回 undefined。为什么会这样?为什么它不返回值?

var express = require('express');
var app = express();
var mongoose = require('mongoose');
var bodyParser = require('body-parser');

app.use(bodyParser.urlencoded({extended:true}));

mongoose.connect
("mongodb://<user>:<pass>@ds129762.mlab.com:29762/<dbnmae>")

var userSchema = new mongoose.Schema({
     username : String,
     password : String
});

var User = mongoose.model("User",userSchema);

app.get("/",function(req,res){
   User.find({"username": "ajith"},function(err,data){
      if(err){
         console.log(err);
      }else{
        console.log(data);
        console.log(data.password+" "+data._id);
      }
    });
});


app.listen(3000,function(){
    console.log("server started and listening at the port 3000");
});

最佳答案

您必须使用 data[0].username 因为 data 是一个包含单个值的数组。

关于javascript - 从对象返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51968411/

相关文章:

javascript - 将 jquery 应用于加载到 div 的页面

javascript - 我可以使用 javascript confirm 停止回发吗?

node.js - 用于 UNIX 系统的较少样式的 Markdown 查看器

javascript - TypeError : Cannot read property 'toString' of undefined at Geolib. isDecimal

node.js - 更改 Node.js 中的文件所有者

javascript - 以绝对位置设置从 A 到 B 的选择范围

javascript armstrong number 测试用例错误

node.js - 我无法将 Angular/Cli 安装到我的 ubuntu 18 系统上

javascript - 无法使用jspdf将html导出为pdf

javascript - 简单的 Express.js 应用程序运行时出错