Laut dieser Antwort
Dies geschieht standardmäßig, damit Model Standardoperationen an Arrays ausführen kann, was möglich ist, wenn das Array leer ist, aber nicht, wenn es null
ist oder undefined
.
Es ist jedoch möglich, eine Eigenschaft mit einem leeren Array vollständig zu entfernen. Gemäß den neuesten Updates auf diesem Thread die folgende Modifikation des Schemas würde funktionieren:
var questionSchema = new Schema({
items: { type: Array, default: void 0 } // <-- override the array default to be undefined
});