gpt4 book ai didi

mongodb - 使用 vue js 和 axios 按 id 显示单个记录

转载 作者:可可西里 更新时间:2023-11-01 10:37:06 49 4
gpt4 key购买 nike

我有一个 mongodb express vue js 应用程序,它在卡片中显示项目列表,这些卡片是指向每条记录的详细 View 的链接。如果我将鼠标悬停在卡片上,则会显示链接的正确 ID,但单击任何卡片,它会转到来自 mongo 的第一个文档,并且记录不会显示。 View 检索一个项目,但始终是第一个。

如何显示点击的item ID的记录?

Report.vue

在 postman 中工作的后端请求是

// 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}`
}
})

关于mongodb - 使用 vue js 和 axios 按 id 显示单个记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54973709/

49 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com