Secondo questa risposta
viene fatto per impostazione predefinita per consentire a Model di eseguire operazioni standard sugli array, cosa possibile quando l'array è vuoto ma non quando è null
o undefined
.
Tuttavia è possibile rimuovere completamente una proprietà con un array vuoto. Secondo gli ultimi aggiornamenti su questo thread la seguente modifica allo schema funzionerebbe:
var questionSchema = new Schema({
items: { type: Array, default: void 0 } // <-- override the array default to be undefined
});