【问题标题】:while inserting data to database using postman showing error in controller file使用邮递员将数据插入数据库时​​,在控制器文件中显示错误
【发布时间】:2020-06-02 19:11:18
【问题描述】:

在使用 node.js 时,我无法将数据插入到数据库中,我正在使用 express.js,mongoose,但出现了我在代码中作为注释提到的错误

块引用 错误是 块引用 TypeError:无法读取未定义的属性“名称” 插入时(E:\node\website\controller\signup.js:5:25) 在 Layer.handle [as handle_request] (E:\node\website\node_modules\express\lib\router\layer.js:95:5) 在下一个(E:\node\website\node_modules\express\lib\router\route.js:137:13) 在 Route.dispatch (E:\node\website\node_modules\express\lib\router\route.js:112:3) 在 Layer.handle [as handle_request] (E:\node\website\node_modules\express\lib\router\layer.js:95:5) 在 E:\node\website\node_modules\express\lib\router\index.js:281:22 在 Function.process_params (E:\node\website\node_modules\express\lib\router\index.js:335:12) 在下一个 (E:\node\website\node_modules\express\lib\router\index.js:275:10) 在 Function.handle (E:\node\website\node_modules\express\lib\router\index.js:174:3) 在路由器 (E:\node\website\node_modules\express\lib\router\index.js:47:12) 在 Layer.handle [as handle_request] (E:\node\website\node_modules\express\lib\router\layer.js:95:5) 在 trim_prefix (E:\node\website\node_modules\express\lib\router\index.js:317:13) 在 E:\node\website\node_modules\express\lib\router\index.js:284:7 在 Function.process_params (E:\node\website\node_modules\express\lib\router\index.js:335:12) 在下一个 (E:\node\website\node_modules\express\lib\router\index.js:275:10) 在 expressInit (E:\node\website\node_modules\express\lib\middleware\init.js:40:5) 在 Layer.handle [as handle_request] (E:\node\website\node_modules\express\lib\router\layer.js:95:5) 在 trim_prefix (E:\node\website\node_modules\express\lib\router\index.js:317:13) 在 E:\node\website\node_modules\express\lib\router\index.js:284:7 在 Function.process_params (E:\node\website\node_modules\express\lib\router\index.js:335:12) 在下一个 (E:\node\website\node_modules\express\lib\router\index.js:275:10) 查询时(E:\node\website\node_modules\express\lib\middleware\query.js:45:5) 块引用 //控制器文件命名为signup.js

var express=require('express');
var post1=require('../model/singup')
var router=express.Router();
var insert=(req,res)=>{
    var name1= req.body.name;// error:name is not defined
    var email1= req.body.email;//error:email is not defined
    var password1= req.body.password;//error:password is not defined
    post1.create({
        name: name1,email:email1,password:password1
    },(err,result)=>{
        if(err){res.json({message:'error'
           })
        }
        else{res.json({message:'sucessful',result:result   
        })
     } 
})
}
router.post('/signup',insert);
router.get('/h',(req,res)=>{
    res.json({ 
        message:'insert'
    })
    console.log("insert");
    })
module.exports=router;

块引用 //模型文件命名为signup.js

require('../db');
var mongoose=require('mongoose');
mongoose.Promise=require('bluebird');
var schema= new mongoose.Schema({
    name:{type:String,required:true},
    email:{type:String,required:true},
    password:{type:String,required:true},   
},
{timestamp:true});
module.exports=mongoose.model('post1',schema);

块引用 //用于数据库连接的db.js文件

var mongose=require('mongoose');
mongose.set('useNewUrlParser', 'true');
mongose.set('useCreateIndex', 'true');
mongose.set('useFindAndModify', 'true');
mongose.connect("mongodb://127.0.0.1:27017/website");
var db=mongose.connection;
db.on('error',console.error.bind(console,'connection error'));
db.once('open',(req,res)=>{
    console.log("connected with db!!!");
})

块引用 //index.js

var app=require('./server')
var signup=require('./controller/signup')

 var session=require('express-session')
app.set('viewengin','ejs')
app.set('useNewUrlParser', 'true')
app.set('useUnifiedTopology', 'true')
app.use('/user',signup)
app.use(session({
    secret:'keyboard cat ',
    resave:false,
    cookies:{
        secrue:true
    },
}))
app.all('*',(req,res)=>{
    return res.json({status: 205,message: 'not found'});
})
var server=app.get('/',(req,res)=>{
req.end()
});

【问题讨论】:

    标签: node.js database express mongoose insert


    【解决方案1】:

    您似乎缺少 body-parser 中间件。

    $ npm i body-parser
    
    var express=require('express');
    var bodyParser = require('body-parser');
    
    // parse application/x-www-form-urlencoded
    app.use(bodyParser.urlencoded({ extended: false }))
    
    // parse application/json
    app.use(bodyParser.json())
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-29
      • 2023-04-11
      • 2017-06-27
      相关资源
      最近更新 更多