Perché il tuo schema definisce a come oggetto generico, quel campo viene trattato come Mixed digita per Mongoose e devi contrassegnarlo come modificato chiamando markModified
o save ignorerà la modifica.
obj.markModified('a');
obj.save(function(err,real){ ...
Vedi la discussione su Mixed digita su questa pagina
dei documenti.