Node.js Nodejs和Mongoose在抛出新错误(';记录未找到';)语句时出错

Node.js Nodejs和Mongoose在抛出新错误(';记录未找到';)语句时出错,node.js,mongodb,mongoose-schema,Node.js,Mongodb,Mongoose Schema,我正在使用mongoose中间件运行Reactjs+Nodejs和Mongodb连接。我有一个用于查找输入商户id是否存在的语句。如果存在商户id,代码工作正常,但当未找到商户id时,我尝试将错误文本发送给js。控件在Nodesjs中失败,同时在语句throw new error('record not found')中抛出错误 请在下面找到我的代码 const jwt = require('jsonwebtoken') const Merchant = require('../models/m

我正在使用mongoose中间件运行Reactjs+Nodejs和Mongodb连接。我有一个用于查找输入商户id是否存在的语句。如果存在商户id,代码工作正常,但当未找到商户id时,我尝试将错误文本发送给js。控件在Nodesjs中失败,同时在语句throw new error('record not found')中抛出错误

请在下面找到我的代码

const jwt = require('jsonwebtoken')
const Merchant = require('../models/merchant')

const auth = async (req, res, next) => {
    try{
        const merchantid = await Merchant.findOne({merchantid: req.body.merchantid  }) // grab user from database
        if (!merchantid) {
            throw new Error('record not found')
        }
        req.merchantid = merchantid
        next()
    } catch (e) {
        res.status(401).send(e)
    }
}

module.exports = auth
请查找我在第8行收到的错误消息(抛出新错误(“未找到记录”)


提前感谢。

这就是投掷的工作原理。你想回到呼叫系统,就像这样

改变

    throw new Error('record not found')


这就是投掷的工作原理。你想回到呼叫系统,就像这样

改变

    throw new Error('record not found')


当您有一个throw语句时,这就是预期会发生的情况。您需要一个return语句当您有一个throw语句时,这就是预期的结果。你想要一个返回语句吗
    res.status(404)