この回答
によると これは、Modelが配列に対して標準操作を実行できるようにするためにデフォルトで実行されます。これは、配列が空の場合は可能ですが、null
の場合は実行できません。 またはundefined
。
ただし、空の配列を持つプロパティを完全に削除することは可能です。 このスレッド の最新の更新によると スキーマに対する次の変更は機能します:
var questionSchema = new Schema({
items: { type: Array, default: void 0 } // <-- override the array default to be undefined
});