Enligt det här svaret
det görs som standard för att göra det möjligt för modellen att utföra standardoperationer på arrayer, vilket är möjligt när arrayen är tom men inte när den är null
eller undefined
.
Det är dock möjligt att helt ta bort en egenskap med en tom array. Enligt de senaste uppdateringarna på denna tråd följande modifiering av schemat skulle fungera:
var questionSchema = new Schema({
items: { type: Array, default: void 0 } // <-- override the array default to be undefined
});