有谁知道为什么这段代码会给我错误:“将 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/