繁体   English   中英

为什么我从 Node 中的 MongoDBQuery 得到“未定义”的结果?

[英]Why am I getting an "undefined" result from my MongoDBQuery in Node?

我已经用这样的模式建立了一个数据库:
在此处输入图像描述

当我在 Nodejs 中使用我的搜索 function 时,它完美地工作并返回我的信息,如下所示:\

在此处输入图像描述

那么,当我尝试从 mongodb 获取我的用户并获取参数“examenes”时,为什么会这样:
在此处输入图像描述

我得到这个未定义的回报?:
在此处输入图像描述

您是否在路由器中添加了mergeParams 此选项将参数 object 添加到请求const router = express.Router({ mergeParams: true });

然后/predict/:id结果为req.params.id

默认情况下,此选项在 express 中禁用

问题是你没有使用await所以在console.log(user.examenes)行中变量user不是 mongo 返回的数据; 是另一个没有属性 examenes 的examenes 并试图访问该值是undefined

所以你可以使用:

let user = await (usuario.findOne({_id: req.params.id}))

我认为你应该使用await关键字

try{
   var user = await model.findOne({ _id: req.params.id});
} catch (e) {
   // Handle Errors
};

或者

model.findOne({ _id: req.params.id}).then(result => {
  var user = result;
}).catch(e=> {
// Handle Errors
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM