0

让我先解释一下我的问题。我正在尝试从 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 进行了检查,该 ID 也是 1。

4

1 回答 1

0

将字符串转换为整数

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

obj_to_search={_id: parseInt(to_update,10)};
于 2013-08-18T16:04:50.620 回答