You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:13:59