javascript - 获取对象值时获取未定义的键值返回
问题描述
在我的 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("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 之前或之后控制台记录这些值时,我总是不确定。我查看了其他错误,但似乎找不到解释。我究竟做错了什么?
解决方案
哦,现在我明白了。这是一个猫鼬问题。由于我没有name
在Contact
模式中定义而是username
,猫鼬显然无法解释Object.key
符号。我已经更改了我的联系人模型方案,现在它可以工作了!
推荐阅读
- django - 如何在html中显示verbose_name?
- javascript - 在 React 中下载 JSON
- direct2d - Direct2D 中几何组合的内部结构 - 它是如何工作的?
- parsing - ANTLR4 无法解析普通文本
- android - 使用 URL 从 Firebase 下载 pdf
- python - Pyenv、Python安装失败:未安装OpenSSL开发头
- drupal-7 - 在 drupal7 中,如何在使用功能和强臂模块导出配置时使用变量?
- bash - 在同一行中打印来自两个不同模式的匹配正则表达式值
- excel - 查找工作表的最新副本,例如 Worksheet(N)
- python - 带有请求库的 Python POST 请求