Javascript 获取对象值时返回未定义的键值
在我的nodejs项目中,我从MongoDB中获取数据,并在查询后使用以下代码进行检索:Javascript 获取对象值时返回未定义的键值,javascript,node.js,Javascript,Node.js,在我的nodejs项目中,我从MongoDB中获取数据,并在查询后使用以下代码进行检索: app.get('/:user_id', (req, res) => { Contact.findById(req.params.user_id, function (err, user) { if (err){ res.send(err); } let user_temp = JSON.stringify(user) console.log(&qu
app.get('/:user_id', (req, res) => {
Contact.findById(req.params.user_id, function (err, user) {
if (err){
res.send(err);
}
let user_temp = JSON.stringify(user)
console.log("1 - ", user);
console.log("2 - ", user.name);
console.log("3 - ", user_temp)
console.log("4 - ", user_temp.phone);
res.render('userInfo', {user: user})
});
})
我得到的日志是这个
1 - {
_id: 5f56a47d5a246e5ff8b67129,
name: 'UserA',
phone: '054523423',
__v: 0
}
2 - undefined
3 - {"_id":"5f56a47d5a246e5ff8b67129","name":"UserA","phone":"054523423","__v":0}
4 - undefined
当我试图在JSON.stringify之前或之后对console.log这些值进行记录时,我总是会得到未定义的值。我看过其他的bug,但似乎找不到解释。我做错了什么?哦,现在我明白了。这是一个猫鼬问题。由于我没有在
联系人
模式中定义名称
,而是定义用户名
,猫鼬显然无法解释对象.key
符号。我已经改变了我的联系方式,现在可以了 让user_temp=JSON.stringify(user)
在他的行前用户类型给出了什么?我猜是绳子,这就是为什么undefined@aRvi这是一个objecttip:使用if(err)返回res.send(err)
else/foo
将因各种错误而中断