当试图将表单元素保存到mongoDB时,无法读取未定义错误的属性
Cannot read property of undefined error when trying to save form element to mongoDB
当我提交表单时,我得到了这个错误:
无法读取未定义的属性'firstName'
提前感谢男生/女生:)
////// 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>
问题是你没有定义一个好的模式
var MyUser = mongoose.model( 'users' , { name: String } );
你只是传递一个简单的对象作为第二个参数,需要是aSchema
实例。
所以它会像
var userSchema = new mongoose.Schema({
name: String
});
var MyUser = mongoose.model( 'users' , userSchema );
var MyUser = mongoose.model( 'users' , new mongoose.Schema({name: String}));
这里有一些关于如何定义猫鼬模型的文档
相关文章:
- 未捕获的TypeError无法读取未定义的属性socialsharing
- angularjs无法读取未定义的属性then
- 无法读取未定义的属性“rid”
- 未捕获的类型错误: 无法读取未定义的属性“图像”
- 类型错误:无法读取未定义的属性“toString” - 为什么
- angular2形式-无法读取未定义的属性替换
- Highcharts错误“;无法读取未定义的属性“;
- 无法读取未定义的属性“最后”的未定义
- 运行此程序后出现错误,未捕获的类型错误:无法读取未定义的属性“推送”
- 无法读取未定义的属性“替换” - 替换 JS 生成的 HTML 中的文本
- 无法读取未定义的属性 - NodeJS,Express,Mongoose
- Google 表格脚本 - “无法读取未定义的属性”(如果不是)
- 无法读取未定义的属性“用户名” - 通过电子邮件在 Node.js 中发送表单数据
- 获取 无法读取未定义的引导轮播脚本的属性“偏移宽度”
- JavaScript 2d 数组导致“无法读取未定义的属性'未定义'”
- 无法读取未定义的属性“_handleNewFile”
- 无法读取未定义的属性“HTML5HISTORY”
- 未捕获的类型错误:无法读取未定义的属性“scrollTop”
- 无法读取未定义的属性“警报”
- 未捕获的类型错误: 无法读取未定义的 - 对象的属性