我提交表单时收到此错误:
无法读取未定义
的属性'firstName'
先谢谢你们/ gals :)。
////// NODE CODE //////
var MyUser = mongoose.model( 'users' , { name: String } );
app.post( '/user' , function ( req, res ) {
var User = new MyUser( {
name: req.body.firstName
})
.save( function ( err, doc ) {
err ? res.send( err ) : res.redirect( '/' );
});
});
/////// MARKUP /////
<form method="POST" action="/user">
<label>First Name</label>
<input type="text" name="firstName" />
<button>Submit</button>
</form>
答案 0 :(得分:3)
问题在于您没有定义好的架构
var MyUser = mongoose.model( 'users' , { name: String } );
您只是传递一个简单的对象作为第二个参数,需要是一个
Schema
实例。
所以它会像
var userSchema = new mongoose.Schema({
name: String
});
var MyUser = mongoose.model( 'users' , userSchema );
这也有效:
var MyUser = mongoose.model( 'users' , new mongoose.Schema({name: String}));
Here are some documentation on how to define a mongoose model