当我们获取_id值的时候 只是获取到了里面的字符串并没有获取到ObiectID();这时候我们在拿到这个_id进行其他操作的时候就无法实现,原因-----与数据库中的_id形式不一样。

例子
//与数据库默认的_id进行匹配
var ObjectID = require('mongodb').ObjectId;
 
// 修改商品
app.get('/productedit',(req,res) => {
 
    //获取get传值id
    let id = req.query.id;
    // console.log(id)
    //Db为我们封装的操作数据库的模块(可把这里改成操作数据库的代码new ObjectID(id))
    //获取自增长的id     {"_id":new Db.ObjectID(id)}
    Db.find('productmanage','product',{"_id":new Db.ObjectID(id)},(err,data) => {
        if(err){
            res.send('修改商品失败!')
        }else{
            if(data.length>0){
                // 将数据渲染到模板引擎上
                res.render('productedit',{
                    list:data[0]
                });
            }else{
                res.send('<script>alert("修改商品失败");location.href="/login"</script>')
            }
        }
    })
    // res.render('productedit')
})
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐