Disclaimer:questa risposta è piuttosto datata, 2012! Potrebbe non essere il più preciso.
Dalla documentazione di Mongoose.
https://mongoosejs.com/docs/schematypes.html:scorri verso il basso fino alla sezione Array:
Nota:specificare un array vuoto equivale a [Mixed] . Tutti i seguenti creano array di Mixed .
I dettagli su cosa significa si trovano nella sezione Misti proprio sopra la sezione Array.
Ecco cosa devi fare.
Definisci uno schema per i documenti incorporati:
var Stuff = new Schema({
name: String,
value1: Number,
...
});
Usalo invece di un array vuoto [] :
var MyDocSchema = new Schema({
name: String,
other: String,
stuff: [Stuff],
});