使用其id从MongoDB获取对象

时间:2013-08-18 15:33:22

标签: javascript node.js mongodb express

让我先解释一下我的问题。 我试图从URL获取ID并使用它来查找数据库中的记录(MongoDB)。我在NodeJS Express App中有以下代码。

app.post('/dashboard/profile/update/:id',function(req,res){
   var to_update=req.params.id;
   var firstName=req.body.fname;
   obj_to_search={_id:to_update};
   db.open(function(err, dbs) {
       if(!err) {
           dbs.collection('project',function(err, collection) {
         //update
               collection.findOne(obj_to_search, function(err, result) {
                   if (err) {
                       throw err;
                   } else {
                       res.send(result);
                   }
                   dbs.close();
               });
           });
        }
    });
});

如果我将ID硬编码为1,我将获得记录。但是我没有通过这种方式获得记录。但是我已经使用console.log检查了我通过URL获得的ID也是1。

1 个答案:

答案 0 :(得分:0)

将字符串转换为整数

如果变量在url中 - 它是一个字符串。如果您想使用数字查询数据库,则需要将其强制转换为数字以供查询使用:

obj_to_search={_id: parseInt(to_update,10)};