Du kan ikke indlejre skemaer på denne måde, med den begrundelse, at disse underordnede dokumenter ville blive forvekslet med fulde dokumenter, se denne fejltråd, hvor det står:
grunden til, at vi ikke har tilføjet denne støtte tidligere, er b/c, dette efterlader os i tvivl om, om alle pre-hooks vil blive udført på samme måde for pseudo-under-dokumentet, ligesom det antyder, at vi kan kalde save() på det barn.
Svaret her er at dele ikke skemaet, men blot definitionen.
var userdef = { name: String };
var UserSchema = new Schema(userdef);
var BlogPostSchema = new Schema({author: userdef});
Dette ville resultere i et indlejret brugerobjekt uden faktisk at indlejre skemaet.