Я хочу проверить, используется ли уже электронная почта или имя, когда я ввожу уже существующую электронную почту и существующее имя, возвращаются только данные из соответствующей электронной почты и никаких данных из имени.
req.body.email is bob@gmail.com
req.body.name is hansel
Account.find({$or: [ {user_email: req.body.email}, {display_name: req.body.name}]})
.exec((err, user) => {
if(err) {
res.status(500).json({message: 'Internal Server Error', type: 'error'});
}
if(user) {
// Only the data from the email match result is logged and no data for the already existing name
console.log(user)
// Response
res.json({
message: 'Account email address or Display name is already in use',
type: 'error'
})
} else {
next();
}
});
}
Я также заблудился, как я могу отправить ответ с явной ошибкой вроде
The display name is already in use
или The account email address is already in use
вместо текущего ответа, который является неявным
Это из console.log (пользователь), он показывает только электронную почту совпадения, а не отображаемое имя совпадения
[ { _id: 5ae6cd68e1f3b32237494792,
user_email: 'bob@gmail.com',
display_name: 'Tetris',
registration: 2018-04-30T08:01:44.095Z,
__v: 0 } ]
Схема аккаунта
const AccountSchema = new Schema({
user_email: {
type: String,
required: true,
},
password: {
type: String,
required: true,
select: false
},
display_name: {
type: String,
required: true,
},
registration: {
type: Date,
required: true,
},
});