有人可以帮助尝试解释我在使用 mongoose.js ORM 时做错了什么,并就如何解决问题给我一些指导。
问题
尝试使用 mongoose.js orm 保存模型时,我收到一个错误:
无法调用未定义的方法“doValidate”
模式定义
我正在尝试使用此架构保存对象:
var myEntity = new Schema({
objectId : ObjectId
,title : String
, decription : String
, ownerId : String
, start : {
something : {
// ...
}
//removed for brevity!
}
, end : {
something : {
// ...
}
//removed for brevity!
}
, useruid : String
, _created : { type : Date, "default": new Date()}
, _updated : { type : Date, "default": new Date()}
}
mongoose.model("MyEntity", MyEntity);
定义模型
我已将模型放在一个容器中,以便我可以通过以下方式访问它们:
var xyz = new models['whatever']();
容器对象如下所示:
var models = {
MyEntity : mongoose.model("MyEntity"),
};
创建模型
我创建模型,传入一个带有所有正确“映射”或属性的 JSON 对象:
var newEntity = new models.MyEntity(someObj);
保存模型
然后下面的代码是我如何保存模型:
newEntity.save(function(error) {
if (error) {
console.log(error);
}
writePostEntityResponse(newEntity);
});
我看不出我做错了什么,错误消息虽然很清楚,但对我没有多大帮助。