Según esta respuesta
se hace de forma predeterminada para permitir que Model realice operaciones estándar en matrices, lo que es posible cuando la matriz está vacía pero no cuando es null
o undefined
.
Sin embargo, es posible eliminar por completo una propiedad con una matriz vacía. Según las últimas actualizaciones de este hilo la siguiente modificación al esquema funcionaría:
var questionSchema = new Schema({
items: { type: Array, default: void 0 } // <-- override the array default to be undefined
});