This is clean and easy way.
var possibleRoles = ['user', 'admin'];var UserSchema = new Schema({ roles: { type: [{type: String, enum: possibleRoles}], default: ['user'] }});UserSchema.virtual('possibleRoles').get(function () { return possibleRoles;});