このエラーは非常に不具合です。それは必ずしも失敗するとは限りませんが、そうすると、このように見えます。Mongoose ValidationErrorサブディレクトリの配列境界外にあるパスが必要です
私は、サブ文書配列内の要素の "コード"(1文字列)を変更するコードをいくつか持っています。それは各目標を通り、適用される変更があるかどうかを確認し、変更があればそれを適用します。
for (i = 0; i < user.goals.length; i++) {
if (transformsMap[user.goals[i].code]) {
user.goals[i].code = transformsMap[user.goals[i].code]
}
}
user.goals.sort(function (a,b) {return a.code.charCodeAt(0) - b.code.charCodeAt(0))
私はそれを保存すると、時々私はこのようなエラーが出る:
'goals.3.code':
{ [ValidatorError: Path `code` is required.]
...しかし、この場合3
、ゴール配列の長さです。すなわちは目標がありません.3サブ文書。検証の前にログuser.goals
とuser.goals.length
を記録しようとしましたが、どちらも配列に3つの要素しかないことに同意します。
私は完全に困惑しています。
残念ながら、あなたが[MCVE]を提供することができない限り、支援するために厳しいものになるだろう。 – JohnnyHK