Według tej odpowiedzi
robi się to domyślnie, aby umożliwić Modelowi wykonywanie standardowych operacji na tablicach, co jest możliwe, gdy tablica jest pusta, ale nie, gdy jest null
lub undefined
.
Jednak możliwe jest całkowite usunięcie właściwości z pustą tablicą. Według najnowszych aktualizacji tego wątku działałaby następująca modyfikacja schematu:
var questionSchema = new Schema({
items: { type: Array, default: void 0 } // <-- override the array default to be undefined
});