Недавно я узнал, как изменить значение существующего свойства и сохранить его в базе данных mongo при использовании Keystone JS (Как изменить значение перед его сохранением в базе данных в Keystone JS).
Теперь мне нужно добавить новое свойство и сохранить его в базе данных на той же фазе pre('save')
.
Цель состоит в том, чтобы сказать, что если результатом (существующим свойством) игры является «Выиграл», добавить новое свойство «выиграл», которое является логическим значением (истина). Если это имеет значение, причина, по которой я хочу этого, заключается в том, что в шаблоне руля я хочу сказать {{#if won}}class="success"{{/if}}
Game.schema.pre('save', function(next) {
if (this.isModified('result')) {
if (this.result === 'Won') {
this.won = true;
}
}
next()
});
Но ничего не происходит. Я читал, что вы не можете добавлять свойства, если они не установлены в схеме. Поэтому я попытался добавить Game.schema.set('won', false);
выше этого, но все равно ничего.
Есть ли простой способ сделать это?