Você pode contornar definindo o esquema como abaixo:
products: {
type: [{
name:String,
startDate:Date,
endDate:Date
}],
default: undefined
}
products: {
type: [{
name:String,
startDate:Date,
endDate:Date
}],
default: undefined
}