【发布时间】:2017-03-09 21:53:21
【问题描述】:
我遇到了一件奇怪的事情。我有几个猫鼬模型 - 其中一个(只有一个!)我收到这个错误:
TypeError: Schema is not a constructor
我觉得这很奇怪,因为我有几个工作模式。我尝试在非工作模式中记录mongoose.Schema,它确实与我工作模式中的 mongoose.Schema 不同 - 这怎么可能?代码几乎相同。
这是非工作模式的代码:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var errSchema = new Schema({
name: String,
images:[{
type:String
}],
sizes:[{
type: String
}],
colors:[{
type: Schema.ObjectId,
ref: 'Color'
}],
frontColors:[{
type: Schema.ObjectId,
ref: 'Color'
}],
script: Boolean
},{
timestamps: true
});
var Err = mongoose.model('Err', errSchema);
module.exports = Err;
工作模式的代码:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var colorSchema = new Schema({
name: String,
image: String,
rgb: String,
comment: String,
});
var Color = mongoose.model('Color', colorSchema);
module.exports = Color;
任何帮助将不胜感激!
【问题讨论】:
-
当然!!伙计,我是不是觉得自己很愚蠢!感谢您的迅速回复。做出回答,我会接受的:)
-
我遇到了同样的错误,你是怎么解决的?
-
@vashishth - 我的问题来自
Schema.Types.ObjectId中缺少的Types。一旦我添加了这个,我的问题就消失了。
标签: javascript node.js mongoose mongoose-schema