node.js - Express Mongoose 查询无法设置标题

标签 node.js express mongoose error-handling

有谁知道为什么这段代码会给我错误:“将 header 发送到客户端后无法设置 header ”?
我的 Mongoose 查询有问题吗?
谢谢你的帮助!!

router.post('/setriskbydate', (req, res) => {

    var username = req.body.username;
    var from = new Date(req.body.from);
    var to = new Date(req.body.to);

    var dates = getDates(from, to);

    User.findOne({ username: username }, (err, resp) => {
        if (err) {
            res.send(err);
        }
        if (resp) {
            var rideIds = resp.ride;
            for (let i = 0; i < rideIds.length; i++) {
                Ride.findOne({ _id: rideIds[i] }, (error, response) => {
                    if (error) {
                        res.send(error)
                    }
                    if (response) {
                        var busnumber = response.busnumber
                        var date = response.date.split('T')[0];
                        if (dates.includes(date)) {
                            console.log(response);
                            Ride.updateMany({ busnumber: busnumber, date: { "$regex": date }}, { risk: "high" }, (er, re) => {
                                if (er) {
                                    res.send(er);
                                }
                                if (re) {
                                    res.send(re);
                                }
                            })
                        }
                    }
                })

            }
        }
    })
})

最佳答案

确保对所有响应语句进行return编码,以使响应不会被多次发送,包括不能在响应后再次设置的 header 。

return res.send(err);

...

return res.send(re);

关于node.js - Express Mongoose 查询无法设置标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63922889/

相关文章:

javascript - iisnode 和 express

javascript - NodeJs : modular system

node.js - ENOENT 在 Express Endpoint 上没有用于 readFileSync 的此类文件

node.js - 动态数据 Express.JS 的缓存控制

node.js - Mongoose.create + Q 将 mongoose promise 转换为 Q promise

javascript - 如何在node.js流中写入不重复的数据?

javascript - 我想使用node js返回文件的内容

node.js - Express路由器调用错误的路由

node.js - Mongoose DBRef 删除原始模式删除以删除 DBRef 并从 DBRef 数组中拉出

json - 使用不带数组的嵌套文档为我的 JSON 定义有效的 Mongoose 模式?