2013-08-27 5 views
3

Subdocuments (встроенные документы) в Mongoose могут быть заданы в схеме как:Как установить установщик для поддокумента в Mongoose?

var childSchema = new Schema({ name: 'string' }); 

var parentSchema = new Schema({ 
    children: [childSchema] 
}); 

Но как указать setters на коллекции и требуют, чтобы массив не может быть пустым, если тип является встроенной схемой? Этот код будет сгенерирована ошибка, встроенная схема не является допустимым типом:

function someSetter = function(val) { 
    // Do something on set 
    return val; 
}; 

var parentSchema = new Schema({ 
    children: [{type: childSchema, set: someSetter, required: true}] 
}); 

ответ

1

Одним из решений является установка сеттера после конкретизации в схемах.

parentSchema.path('children').set(someSetter); 
Смежные вопросы