Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用其id从MongoDB获取对象_Javascript_Node.js_Mongodb_Express - Fatal编程技术网

Javascript 使用其id从MongoDB获取对象

Javascript 使用其id从MongoDB获取对象,javascript,node.js,mongodb,express,Javascript,Node.js,Mongodb,Express,让我先解释一下我的问题。 我试图从URL获取ID,并使用它在数据库(MongoDB)中查找记录。下面是我在NodeJS Express应用程序中的代码 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(func

让我先解释一下我的问题。 我试图从URL获取ID,并使用它在数据库(MongoDB)中查找记录。下面是我在NodeJS Express应用程序中的代码

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。

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

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

在这两种情况下,要更新的
类型是什么?您可能必须转换它。这实际上解决了我的问题:)我必须将ID从URL转换为int。