【问题标题】:How to fix " Path is required ,ValidationError " ,Mongoose ,node如何修复“需要路径,验证错误”,猫鼬,节点
【发布时间】:2021-10-17 23:31:01
【问题描述】:

我到处寻找这个问题。但我找不到修复它的正确方法。帮我看看是什么问题。

    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}`);
})

显示错误

名称:ValidatorError:路径Name 是必需的。 在验证 (C:\Users\Sliit\Desktop\Reg-Backend\Travel-management-system\node_modules\mongoose\lib\schematype.js:1270:13) 在 C:\Users\Sliit\Desktop\Reg-Backend\Travel-management-system\node_modules\mongoose\lib\schematype.js:1253:7 在 Array.forEach () 在 SchemaString.SchemaType.doValidate (C:\Users\Sliit\Desktop\Reg-Backend\Travel-management-system\node_modules\mongoose\lib\schematype.js:1198:14) 在 C:\Users\Sliit\Desktop\Reg-Backend\Travel-management-system\node_modules\mongoose\lib\document.js:2545:18 在 processTicksAndRejections (node:internal/process/task_queues:78:11) { 属性:[对象], 种类:'必需', 路径:'名称', 值:未定义, 原因:未定义, [符号(猫鼬:validatorError)]:真 } }, _message: '注册验证失败' }

我从邮递员那里测试 API 并收到此错误

“错误”:{ “数字”: { "name": "ValidatorError", "message": "路径 Number 是必需的。", “特性”: { "message": "路径 Number 是必需的。", “类型”:“必需”, “路径”:“编号” }, “种类”:“必需”, “路径”:“编号” }, “密码”: { "name": "ValidatorError", "message": "路径 Password 是必需的。", “特性”: { "message": "路径 Password 是必需的。", “类型”:“必需”, “路径”:“密码” }, “种类”:“必需”, “路径”:“密码” }, “电子邮件”: { "name": "ValidatorError", "message": "路径 Email 是必需的。", “特性”: { "message": "路径 Email 是必需的。", “类型”:“必需”, “路径”:“电子邮件” }, “种类”:“必需”, “路径”:“电子邮件” }, “姓名”: { "name": "ValidatorError", "message": "路径 Name 是必需的。", “特性”: { "message": "路径 Name 是必需的。", “类型”:“必需”, “路径”:“名称” }, “种类”:“必需”, “路径”:“名称” } }, "_message": "注册验证失败", “名称”:“验证错误”, "message": "注册验证失败:编号:路径Number 是必需的。密码:路径Password 是必需的。电子邮件:路径Email 是必需的。名称:路径Name 是必需的。" }

【问题讨论】:

    标签: node.js mongodb mongoose mern


    【解决方案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
      }
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-30
      • 1970-01-01
      • 2016-03-13
      • 1970-01-01
      • 2021-10-22
      • 2020-02-16
      • 1970-01-01
      相关资源
      最近更新 更多