Может кто-нибудь помочь, попытаться объяснить, что я делаю неправильно, используя ORM mongoose.js, и дать мне несколько советов, как решить проблему.
Проблема
При попытке сохранить модель с помощью 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);
});
Я не вижу, что я делаю неправильно, и сообщение об ошибке, хотя и ясно, не очень мне помогает.