MongoDB ObjectId详解及使用(通过_id查找数据处理)

MongoDB ObjectId详解及使用(通过_id查找数据处理)_第1张图片

图上红框区域是mongodb在添加数据的时候以自增长的形式为我们的数据增加的_id,但当我们获取_id值的时候  只是获取到了里面的字符串并没有获取到ObiectID();这时候我们在拿到这个_id进行其他操作的时候就无法实现,原因-----与数据库中的_id形式不一样。

解决上面的方式:

//与数据库默认的_id进行匹配

var ObjectID = require('mongodb').ObjectID;

js代码中的使用:

new   ObjectID(id)

案例:

app.js

//与数据库默认的_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('')
            }
        }
    })
    // res.render('productedit')
})

 

 

你可能感兴趣的:(nodejs)