Eftersom ditt schema definierar a som ett generiskt objekt behandlas det fältet som Mixed skriv med Mongoose och du måste markera det som ändrat genom att anropa markModified kod>
eller save ignorerar ändringen.
obj.markModified('a');
obj.save(function(err,real){ ...
Se diskussionen om Mixed skriver på denna sida
av dokumenten.