2
モンゴースモデルにはtotalAttemptsとtotalRightという2つのフィールドがあります。私はそれらに基づいて精度を計算するつもりです。またモンゴースの他の2つのフィールドに基づく第3フィールドの計算
totalAttempts: {
type: Number,
default: 1
},
totalRight: {
type: Number,
default: 1
}
これは私がやっていることである[それは動作しません]
accuracy:{
type:Number,
required:function() {return (this.totalRight/this.totalAttempts*100).toFixed(2)}
}
、私は正確にデフォルト値を入れていない場合、私はエラーを取得する:
ERROR; While creating new question ..ValidationError: Path `accuracy` is require d.
events.js:163
これを達成する正しい方法は何でしょうか?ユーザーがそのモデルをリクエストするたびにtotalAttemptsとtotalRightを取得するためのソリューションが既に用意されています。しかし、その計算とストア情報をデータベースに保存したいと思います。
私はまだエラーを取得しています。新しい質問を作成中..ValidationError:パス '精度'が必要です。 events.js:163 throw er; //処理されていない 'error'イベント ^ MongooseError:質問の検証に失敗しました –
あなたの質問に 'required'が' default'を意味すると思います。したがって、必要な精度を取り除くと、それが機能するはずです。 'pre save'はバリデーションが実行された後に呼び出されます。そのため、あなたのケースでは 'required'検証が失敗しています。 –
驚くばかり!ありがとうございました 。それは今働く –