Я получил эту схему:
const userSchema = mongoose.Schema({
name: {
type: String,
required: true,
trim: true
},
email: {
type: String,
required: true,
unique: true,
lowercase: true,
validate: value => {
if (!validator.isEmail(value)) {
throw new Error({error: 'Invalid Email address'});
}
}
},
password: {
type: String,
required: true,
minLength: 7,
select: false
},
tokens: [{
token: {
type: String,
required: true
},
}]
});
and controller for creating the user:
const register = async (req, res) => {
try {
const user = new User(req.body);
await user.save();
const token = await user.generateAuthToken();
res.status(201).send({user, token});
} catch(error) {
res.status(400).send({error});
}
}
в ответ появляется вся информация, включая пароль, которая опасна для меня. Каков предпочтительный способ сделать это? Я знаю о ДТО, но не хочу иметь его на проекте. Я не запрашиваю базу данных, поэтому я не могу использовать исключение, выбор или другие методы, которые могут избавиться от пароля.