некоторые данные из nodejs не вставляются в mongodb?

#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' } Так что его телефон не показывает, нет.