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.