Keystone JS (How to alter a value before storing it to the database in Keystone JS)를 사용할 때 기존 속성 값을 변경하고 mongo 데이터베이스에 저장하는 방법을 알았습니다.Keystone에서 'save'후 mongo에 새 속성 추가
이제 새 속성을 추가하고 동일한 pre('save')
단계 동안 데이터베이스에 저장해야합니다.
목표는 게임의 결과 (기존 속성)가 '원'이면 부울 (true) 인 새 속성 'won'을 추가하는 것입니다. 이 중요한 경우 핸들 템플릿에 내가 {{#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);
을 추가하려고 시도했지만 여전히 아무 것도 시도하지 않았습니다.
간단한 방법이 있나요?
감사합니다, 흥미로운 보인다. 'locals.won'은 결과가 아닌 전체 결과로 설정됩니다. 각 결과를 반복하고 각각에 대한 지역 주민에게 속성을 추가하는 방법이 있을까요? – davidpauljunior
여러 개의 게임을 찾고 각 게임에 ** won ** 속성을 추가하여 내 대답을 편집했습니다. 희망이 도움이됩니다. –