Резюме вопроса: Концептуально, что такое getters и seters и почему мы будем использовать их?
Выдержка из http://docs.sequelizejs.com/en/latest/docs/models-definition/?highlight=getterMethods#getters-setters:
В ваших моделях можно определить функции-объекты-объекты-объекты и свойства-объекта-объекта, которые могут использоваться как для "защиты" свойств, которые сопоставляются с полями базы данных, так и для определения свойств "псевдо".
-
Что значит "защищать"? Против чего?
-
Что такое свойства psuedo?
Я также борюсь с приведенным ниже примером кода. Кажется, мы дважды устанавливаем "заголовок". И что такое аргумент 'v'?
См. ниже:
var Foo = sequelize.define('Foo', {
title: {
type : Sequelize.STRING,
allowNull: false,
}
}, {
getterMethods : {
title : function() { /* do your magic here and return something! */ },
title_slug : function() { return slugify(this.title); }
},
setterMethods : {
title : function(v) { /* do your magic with the input here! */ },
}
});
Приветствуется конкретный пример вместо "do magic".