我有一个mongodb express vue js应用程序,该应用程序显示卡中项目的列表,这些项目是每个记录的详细视图的链接。如果我将鼠标悬停在卡片上,则会显示链接的正确ID,但单击任何卡片,它将转到mongo的第一个文档,并且不会显示该记录。该视图检索一个项目,但始终检索第一个。
如何显示已单击项目的ID的记录?
在邮递员工作的后端请求是
// Get Simgle Report
router.get('/:id', async (req, res) => {
const reports = await loadReportsCollection()
await reports.findOne({_id: new mongodb.ObjectID( req.params.id)})
res.send(await reports.find({}).limit(1).toArray())
res.status(200).send()
}
)
ReportService.js看起来像
//Find Single Report
static getReport(id) {
return axios.get(`${url}${id}`)
}
和Report.vue文件看起来像
mounted () {
this.getReport()
},
methods: {
async getReport() {
try {
const response = await ReportService.getReport(this.$route.params.id)
this.report = response.data
} catch(err) {
this.err = err.message
}
},
}
非常感谢您的帮助!
似乎您正在尝试在api中访问参数而不在请求中传递参数。您在这里请求参数:
await reports.findOne({_id: new mongodb.ObjectID( req.params.id)})
但尚未通过您的请求。应该这样做:
return axios.get('/:id', {
params: {
id: `${id}`
}
})
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句