Как исправить «Требуется путь ,ошибка проверки» ,Мангуст ,узел

#node.js #mongodb #mongoose #mern

Вопрос:

Я везде искал эту проблему. но я не могу найти правильный способ исправить это. помогите мне разобраться, в чем проблема.

     const router = require("express").Router();
    let Reg = require("../models/Register");

    http://localhost:8070/Register/add

  router.route("/add").post((req,res)=>{

const name = req.body.Name;
const email = req.body.Email;
const number = Number(req.body.Number);
const password = req.body.Password;


const NewAdd = new Reg({
    name,
    email,
    number,
    password

})

NewAdd.save().then(()=>{
    res.json("Registration Added")
}).catch((err)=>{
    console.log(err);
    res.json(err)
    console.log("reg err");
})



 })
 

а это папка модуля js

  const mongoose = require('mongoose');

 const Schema = mongoose.Schema;

 const RegSchema = new Schema({

Name: {
    type: String,
    required: true

},
Email: {
    type: String,
    required: true

},
Password: {
    type: String,
    required: true

},
Number: {
    type: Number,
    required: true

}

    });

     const Register = mongoose.model("Register",RegSchema);

      module.exports = Register;
 

Это сервер .js

     const express = require("express");
const mongoose = require("mongoose");
const bodyParser =require("body-parser");
const cors = require("cors");
 require("dotenv").config();
const app = express();

const PORT = process.env.PORT || 8070;

app.use(cors());
app.use(bodyParser.json());


const URL = process.env.MONGODB_URL;

mongoose.connect(URL,{
    useCreateIndex: true,
    useNewUrlParser: true,
    useUnifiedTopologyL: true,
    useFindAndModify: false
});

const connection = mongoose.connection;
connection.once("open", () =>{
    console.log("Mongodb connection success!");
})


const AddRouter = require("./routes/Registers.js");


app.use("/Register",AddRouter);



app.listen(PORT, () =>{
    console.log(`The port is : ${PORT}`);
})
 

ошибка, показывающая

Имя: Ошибка проверки: Name Требуется путь. при проверке (C:UsersSliitDesktopReg-BackendTravel-management-systemnode_modulesmongooselibschematype.js:1270:13) в C:UsersSliitDesktopReg-BackendTravel-management-systemnode_modulesmongooselibschematype.js:1253:7 в массиве.forEach () при построении схемы.Тип схемы.doValidate (C:UsersSliitDesktopReg-BackendTravel-management-systemnode_modulesmongooselibschematype.js:1198:14) в C:UsersSliitDesktopReg-BackendTravel-management-systemnode_modulesmongooselibdocument.Яш:2545:18 на processTicksAndRejections (узел:внутренние/процесс/task_queues:78:11) { свойства: [объект], вроде: ‘требуется’, путь: ‘имя’, значение: не определено, причина: не определено, [символ(Мангуст:validatorError)]: «истина»} }, _message: ‘Регистрация ошибка проверки’ }

Я тестирую API у почтальона и получаю эту ошибку

«ошибки»: { «номер»: { «имя»: «ValidatorError», «сообщение»: «путь Number необходим.», «свойства»: { «сообщение»: «путь Number необходим.», «тип»: «требуется», «путь»: «количество» }, «добрый»: «требуется», «путь»: «количество» }, «пароль»: { «имя»: «ValidatorError», «сообщение»: «путь Password необходим.», «свойства»: { «сообщение»: «путь Password необходим.», «тип»: «требуется», «путь»: «пароль» }, «добрый»: «требуется», «путь»: «пароль» }, «электронная почта»: { «имя»: «ValidatorError», «сообщение»: «путь Email необходим.», «свойства»: { «сообщение»: «пути Email не требуется.», «тип»: «требуется», «путь»: «электронная почта» }, «добрый»: «требуется», «путь»: «электронная почта» }, «имя»: { «имя»: «ValidatorError», «сообщение»: «путь Name необходим.», «свойства»: { «сообщение»: «путь Name необходим.», «тип»: «требуется», «путь»: «имя» }, «добрый»: «требуется», «путь»: «имя» } }, «_message»: «зарегистрировать сбой проверки», «имя»: «ValidationError», «message»: «как зарегистрировать проверка не пройдена: номер: путь Number требуется., Пароль: путь Password требуется., Электронная почта: путь Email требуется., Название: Путь Name требуется.» }

Ответ №1:

Используйте один и тот же регистр в «NewAdd» и в «RegSchema».

 const NewAdd = new Reg({
  name,
  email,
  number,
  password
})
 

и

 const RegSchema = new Schema({
  name: {
    type: String,
    required: true
  },
  email: {
    type: String,
    required: true
  },
  password: {
    type: String,
    required: true
  },
  number: {
    type: Number,
    required: true
  }
})