在下面的代码中,当我尝试控制台记录数据对象时,它会返回正确的用户名和密码,如下所示。
[ { _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/