Node.js Can';t绑定nodejs中的参数

Node.js Can';t绑定nodejs中的参数,node.js,mongodb,Node.js,Mongodb,我想在节点js中绑定参数,这是我的代码,但显示了一些错误 app.get("/single/:id", async (req, res) => { let id = req.params.id; console.log(id); try{ const singleMovie = await Movies.findById(id) res.render("single", { singleMovie: singleMov

我想在节点js中绑定参数,这是我的代码,但显示了一些错误

app.get("/single/:id", async (req, res) => {
    let id = req.params.id;
    console.log(id);
    try{
        const singleMovie = await Movies.findById(id)
        res.render("single", {
        singleMovie: singleMovie
    });
    }catch(err){
        console.error(err.message);
    }
});
给我看这个警告

对于模型的路径“\u id”处的值“undefined”,转换为ObjectId失败 《电影》和《身份证》是没有定义的


有没有办法解决这个问题?

试试下面的代码。。。发送json响应只是为了测试它。。。。 如果您得到的错误与您得到的错误相同,那么代码中的某个地方就有问题。因为你发布的代码块看起来不错

app.get("/single/:id", async (req, res) => {
    let id = req.params.id;
    console.log(id);
    try{
        const singleMovie = await Movies.findById(id)
        res.json({
        singleMovie: singleMovie
    });
    }catch(err){
        console.error(err.message);
    }
});

还要确保您在代码
res.render(“single”)中使用了
nodejs-v8+
mongoose-v5+
,{
应该是
res.json(“single”,{

什么是console.log out put和model definition仅用于检查req.params.id是否有值或未定义如果id为!=未定义,可能您应该构建一个控制台,您应该用res.json()替换res.render()在你的代码中。你能显示你正在点击的url吗?我只想看到ID的值实际上我想把singleMovie传递给模板并显示它们,而不仅仅是看到结果