#html #node.js #database #mongodb #express
Вопрос:
Итак, это почтовый запрос для моего маршрута регистрации с использованием express.js. Я печатаю объект newUser в консоль. Он печатает всю информацию, т. е. имя, коллаж, адрес, зашифрованный пароль, но он не печатает телефон для консоли, почему? а также только номер телефона не отображается в базе данных mongodb.
app.post("/register", function(req,res){
const newUser=new User({
name:req.body.fname,
phone:req.body.ffphone,
email:req.body.femail,
callege:req.body.fcallege,
password:req.body.fpassword
});
console.log(newUser);
newUser.save(function(err){
if(err){
console.log(err);
}else{
res.send("<h1>Registration done</h1>");
}
});
})
Он выводит этот вывод только на консоль:
{
callege: 'MIT',
_id: 60450bd602c55639309f93a1,
name: 'user1',
email: 'abc@gmail.com',
password: '123456'
}
почему он не показывал атрибут телефона? Хотя я беру правильный ввод из html-формы.
Комментарии:
1. Попробуйте войти
req.body
в систему и дважды проверьте, отображается ли номер телефона в теле (и, более конкретно, под каким свойством). Просто замечание: все атрибуты имеют префикс, заf
исключением телефона, который имеет префиксff
. Это вполне может быть преднамеренным/необходимым, но суть в том, чтобы просто дважды проверить орфографию/опечатки.2. похоже, у вас ошибка
ffphone
с опечаткойfphone
, может быть ?3. спасибо, я приготовил
typo error
. Теперь он работает
Ответ №1:
Проверьте свою схему для вашей User
модели. Вы, вероятно, забыли добавить в него поле «Телефон».
Поля, не включенные в схему, не будут вставлены в документ, что может быть причиной того, что ваш номер телефона не отображается.
Комментарии:
1. Я создал правильную пользовательскую схему, в ней есть все основные поля, в ней также есть атрибут телефона const UserSchema=новый мангуст. Схема({ имя:{ тип:Строка, обрезка:истина, требуется:истина }, телефон:{ тип:Номер, требуется:истина, минимальная длина:10 }});
2. Если ваш
console.log(req.body)
телефон появится какffphone
?, или этоfphone
так ?, или его вообще нет?3. вовсе нет, он не печатает телефон в консоли, я вставил вывод в вышеприведенный вопрос. пожалуйста, проверьте это. у него нет атрибута телефона
4. Извините, но это не тот результат, о котором я говорю. Можете ли вы опубликовать, каков результат
console.log(req.body)
?5.
{ fname: 'user1', femail: 'abc@gmail.com', fcallege: 'MIT', fpassword: '12345678' }
Так что его телефон не показывает, нет.