Selon cette réponse
il est fait par défaut afin de permettre à Model d'effectuer des opérations standard sur les tableaux, ce qui est possible lorsque le tableau est vide mais pas lorsqu'il est null
ou undefined
.
Cependant, il est possible de supprimer complètement une propriété avec un tableau vide. Selon les dernières mises à jour sur ce fil la modification suivante du schéma fonctionnerait :
var questionSchema = new Schema({
items: { type: Array, default: void 0 } // <-- override the array default to be undefined
});