当前位置: 首页 > 知识库问答 >
问题:

NodeJs TypeError:无法读取未定义的属性“Customer\u id”

微生乐
2023-03-14

我试图创建一个post方法,以便将数据存储到mongoDb中,但是当我通过postman发送post请求时,出现了一个类型错误

我已经通过npm更新了软件包,但错误保持不变

类型错误:无法读取属性'Customer_id'的未定义在exports.create_customer(C:\用户\jawad\桌面\nodejspactise\控制器\admin.controll.js:64: 31)在Layer.handle[作为handle_request](C:\用户\jawad\桌面\nodejspactise\node_modules\Express\lib\router\layer.js:95: 5)在下一个(C:\用户\jawad\Desktop\nodejspactise\node_modules\Express\lib\router\route.js:137: 13)在Route.dispatch(C:\用户\jawad\Desktop\nodejspactise\node_modules\Express\lib\router\route.js:112: 3)在Layer.handle[作为handle_request](C:\用户\jawad\Desktop\nodejspactise\node_modules\Express\lib\router\layer.js:95: 5)在C:\用户\jawad\Desktop\nodejspactise\node_modules\Express\lib\router\index.js:281: 22在Function.process_params(C:\用户\jawad\Desktop\nodejSpractise\node_modules\Express\lib\router\index.js:335: 12)在下一个(C:\用户\jawad\Desktop\nodejspactise\node_modules\Express\lib\router\index.js:275: 10)在Function.handle(C:\用户\jawad\Desktop\nodejspactise\node_modules\Express\lib\router\index.js:174: 3)在路由器(C:\用户\jawad\Desktop\nodejspactise\node_modules\Express\lib\router\index.js:47: 12)在Layer.handle[handle_request](C:\用户\jawad\Desktop\nodejspactise\node_modules\Express\lib\router\layer.js:95: 5)在trim_prefix(C:\用户\jawad\Desktop\nodejspactise\node_modules\Express\lib\router\index.js:317: 13)在C:\用户\jawad\Desktop\nodejspactise\node_modules\Express\lib\router\index.js:284: 7在Function.process_params(C:\用户\jawad\Desktop\nodejspactise\node_modules\Express\lib\router\index. js: 335:12)在下一个(C:\用户\jawad\Desktop\nodejSpractise\node_modules\Express\lib\router\index. js: 275:10)在jsonParser(C:\用户\jawad\Desktop\nodejspactise\node_modules\body-parser\lib\type\json. js: 101:7)

这是一个应用程序。js文件

const express= require('express');
    const body_parser=require('body-parser');
    const app=express();
    const mongo=require('mongoose');

    app.use(body_parser.urlencoded({extended:true}));
    app.use(body_parser.json());


    const admin_route=require('./routes/admin.routes');
    app.use('/admin',admin_route);
    mongo.connect("mongodb://localhost/DcPrimeDb", 
        {useNewUrlParser: true, useUnifiedTopology: true } );
    mongo.Promise = global.Promise;
    let db = mongo.connection;
    db.on('error', console.error.bind(console, 'MongoDB connection error:'));


    const port=8080;
    app.listen(port,()=>
        {

          console.log("Server is up "+port);
        });

customer.model.js文件

const mongoose=require('mongoose');
const Schema=mongoose.Schema;
const joi=require('joi');

let Customer_schema=new Schema(
    {

        Customer_id:{
            type:Number,
            required:true
        }, 
        Password:{type:String,
            required:true,
            max:100},

        Name:{type:String,
            required:true,
            max:100},

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

        Occupation:{type:String,
            required:true,
            max:30},

        Gender:{type:String,
            required:true,
            max:1,
            min:1},

        Dob:{type:Date,required:true,},
         Address:{type:String,required:true,max:500},
          City:{type:String,required:true,max:40},
           Country:{type:String,required:true,max:100}
    }

);
module.exports=mongoose.model('Customer',Customer_schema,'Customers');

admin.controll.js文件:

const Customer=require('..//model/customer.model');
const employee=require('..//model/employee.model');
const changerequest=require('..//model/ChangeRequest.model');
const joi=require('joi');
const mongo=require('mongoose');
let db=mongo.Connection;




exports.create_customer=function (res,req) 
{
    let  customer= new Customer(
    {

         Customer_id:req.body.Customer_id,

        Password:req.body.Password, 
        Name:req.body.Name, 
        Email:req.body.Email, 
        Occupation:req.body.Occupation, 
        Gender:req.body.Gender, 
        Dob:req.body.Dob ,
         Address:req.body.Address,
          City:req.body.City,
           Country:req.body.Country
    })

    customer.save((err)=>
    {
        if (err)
        {
            return next(err);
        }
        res.send("Customer  Sucessfull Created");

    }
    )

}

管理路线。js文件:

   const  express=require('express');
    const router=express.Router();
    const body_parser=require('body-parser');
    const app=express();
    app.use(body_parser.json());
    app.use(body_parser.urlencoded({extended:true}));
    const admin_controll=require('../controller/admin.controll');
    router.post('/createCustomer',admin_controll.create_customer);

    // router.get('/test',product_controll.test);
    module.exports=router;

共有1个答案

鲜于宜修
2023-03-14

您在这里导出。创建_customer=function(res,req)未指定正确的顺序。它必须是导出。创建客户=功能(请求、回复)

 类似资料:
  • 为什么我得到这个错误不能读取未定义的触摸属性? 为什么它不能读取,但它可以读取 当我们使用

  • 问题内容: 我正在制作非常简单的react应用。但是,当我尝试通过onChange事件调用父(实际上是祖父母)组件的方法时,我一直在获取。 这是触发事件的组件/表单(因此,在绑定的父组件上调用方法…是的,因为我通过道具将其从父组件传递下来,所以在方法上使用了.bound(this)。) 这是我如何通过大多数父(祖父母)组件中的props传递该方法的方法。 这是我作为父项(方法所有者和方法调用程序之

  • 我正在测试发送电子邮件与流星js和nodemailer插件: 流星添加捷运:流星NodeEmailer 当页面加载时,我在导航器的控制台上看到错误:无法读取未定义的属性“创建运输”。 那么问题是什么呢? 代码如下: /////////////////////////////////////////// ///////////////

  • 我知道这方面还有很多类似的问题,但没有一个答案是有效的。在我的例子中,我有下面的代码,我正在尝试按分数降序排列记录数组。 最后一个函数是什么给我的问题.如果用户运行以下: var web=[{url:“www.southanpton.ac.uk”,内容:“南安普敦大学提供学位课程和世界一流的研究测试。”,{url:“www.xyz.ac.uk”,内容:“另一种大学考试”},{url:“www”,内

  • 我一直试图让firebase与react一起工作,但出现了此错误 未经处理的拒绝(TypeError):无法读取未定义的fetch D:/Peti/Programming/node/coursewebpage/src/components/coursePage.js:12 9 | const db=firebase.firestore()10 | const myAuthLevel=(fireba

  • 这是我的猫鼬模式: 这是使用Express的Node.js服务器。它具有路由,如果触发该路由,它将使用请求中传递的信息更新用户的购物车。正文: 我打印到终端userCart,正如您在代码中看到的,它返回给我的是: 当服务器执行时,它返回以下错误: 如果我已经在Mongoose中定义了的结构,为什么不定义它?