正在从MEAN Stack应用程序中的mongo数据库检索数据



我正在学习MEAN堆栈,为此,我在本地mongo数据库中创建了一个集合"eduLevel",其中包含一些文档,如下所示:

> db.eduLevel.find().pretty()
{ "_id" : "G001", "name" : "Graduate" }
{ "_id" : "M001", "name" : "Masters" }
{ "_id" : "P001", "name" : "P.hd" }

我在我的MEAN应用程序中创建了一个相同的模型:

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
})
});

我在这里做错了什么?

试试这个,

在您的代码中,您缺少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
})
});
});

最新更新