MEAN栈CRUD开发遇ReferenceError: number未定义问题求助
解决ReferenceError: number is not defined问题
嘿,这个问题很典型,我马上就能帮你搞定!
错误原因
你在dataSchema.js里定义字段类型的时候用了小写的number,但在Mongoose中,数据类型必须是大写开头的内置构造函数(比如String、Number、Boolean这些)。小写的number并不是一个已定义的变量或合法的Mongoose类型,所以Node.js会抛出ReferenceError: number is not defined这个错误。
另外,从字段名name和country来看,这两个字段明显应该是文本类型,用Number类型也不符合业务逻辑,所以咱们一起修正这两个问题。
修正后的代码
把你的dataSchema.js改成下面这样:
var mongoose = require('mongoose'); var countrySchema = mongoose.Schema({ name: { type: String }, // 改为String类型,匹配文本内容 country: { type: String } }); module.exports = mongoose.model('country', countrySchema);
如果之后你需要定义数字类型的字段(比如population这类数值字段),记得要写成type: Number(大写N),而不是小写的number。
额外提示
你提供的index.js代码最后一行var mon...看起来没写完,等解决完这个类型问题后,如果还有其他报错,可以再补充完整代码继续排查~
内容的提问来源于stack exchange,提问作者B Kansara
相关产品推荐
相关产品推荐

