让我先解释一下我的问题。 我试图从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。
答案 0 :(得分:0)
如果变量在url中 - 它是一个字符串。如果您想使用数字查询数据库,则需要将其强制转换为数字以供查询使用:
obj_to_search={_id: parseInt(to_update,10)};