Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.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
Node.js 当我搜索数据库中不存在的用户时,我应该得到404错误,但它一直得到500。那为什么呢?_Node.js_Mongodb_Express_Mongoose_Get Request - Fatal编程技术网

Node.js 当我搜索数据库中不存在的用户时,我应该得到404错误,但它一直得到500。那为什么呢?

Node.js 当我搜索数据库中不存在的用户时,我应该得到404错误,但它一直得到500。那为什么呢?,node.js,mongodb,express,mongoose,get-request,Node.js,Mongodb,Express,Mongoose,Get Request,我应该得到404错误,但它一直得到500。那为什么呢 app.get('/users/:id', (req, res) => { const _id = req.params.id User.findById(_id).then((user) => { if (!user) { return res.status(404).send() } res.send(user) }) .catch((e) => { re

我应该得到404错误,但它一直得到500。那为什么呢

app.get('/users/:id', (req, res) => {
  const _id = req.params.id

  User.findById(_id).then((user) => {
    if (!user) {
        return res.status(404).send()
    }
    res.send(user)
  })
  .catch((e) => {
    res.status(500).send()
  })
})

您是否尝试记录“e”以查看错误,然后先修复错误?试试console.log(e);在.catch()句柄中,您确定
req.params.id
包含值吗?当我将一个字母req.params.id更改为另一个字母时,它会工作,因为我得到404。但当req.params.id像123或abc时,我会得到500