Когда я пытаюсь зарегистрироваться, я получаю следующую ошибку в терминале, и сервер выключается Error: Can't set headers after they are sent
Появляется только когда я регистрируюсь, но никогда, когда я вхожу. Также все данные хранятся в послесловиях моего MongoDB
Может кто-нибудь объяснить мне, что я здесь не так делаю?
Вот мой код, где я регистрируюсь
exports.signup = function (req, res, next) {
var email = req.body.email;
var password = req.body.password;
var role = req.body.role;
var firstName = req.body.firstName;
var lastName = req.body.lastName;
var phone = req.body.phone;
var number = req.body.number;
var street = req.body.street;
var city = req.body.city;
var postcode = req.body.postcode;
if (!email || !password) {
return res.status(422).json({ error: "You must provide an email and password" });
}
// Check if user already exists, send error if they do
User.findOne({ email: email }, function (err, existingUser) {
if (err) { return next(err) }
if (existingUser) { return res.status(422).json({ error: "Email taken" }) }
var user = new User({
email: email,
password: password,
userData: [{
role: role,
firstName: firstName,
lastName: lastName,
phone: phone,
address: [{
number: number,
street: street,
city: city,
postcode: postcode
}],
}],
});
user.save(function (err) {
if (err) { return next(err) }
res.json({ user_id: user._id, token: tokenForUser(user) });
res.json({
data: {
email: email,
password: password,
userData: [{
role: role,
firstName: firstName,
lastName: lastName,
phone: phone,
address: [{
number: number,
street: street,
city: city,
postcode: postcode
}],
}],
}
});
});
});
}