我正在学习MEAN堆栈,并在我的本地mongo数据库中创建了一个“ eduLevel”集合,其中包含一些文档,如下所示:
> db.eduLevel.find().pretty()
{ "_id" : "G001", "name" : "Graduate" }
{ "_id" : "M001", "name" : "Masters" }
{ "_id" : "P001", "name" : "P.hd" }
我已经在MEAN App中为以下模型创建了一个模型:
const mongoose = require('mongoose');
const eduSchema = mongoose.Schema({
_id: String,
name: String
});
module.exports = mongoose.model('eduLevel', eduSchema);
在执行以下代码行时,响应中将edu设为null(在控制台日志中,获取id值),
app.get('/edu/:id', async (req, res) => {
console.log(req.params.id);
let edu = await Edu.findById(req.params.id);
console.log(edu);
res.status(200).json({
edu: edu.name
})
});
这是怎么了?
答案 0 :(得分:0)
尝试一下
在您的代码中,您缺少针对findbyId的回调。
app.get('/edu/:id', async (req, res) => {
console.log(req.params.id);
await Edu.findById(req.params.id, function (err, data) {
if(err){
console.log(err);
es.status(500).send(err);
}
console.log(data);
res.status(200).json({
data: data.name
})
});
});