So, according to the MongoEngine documentation:
https://mongoengine-odm.readthedocs.org/en/latest/guide/defining-documents.html
a document of type A needs to inherit from DynamicDocument in order for us to be able to save an object (of type A) that has additional fields than the ones “officially” declared.
How can I make an EmbeddedDocument behave like a DynamicDocument?
It sounds like you want a Dynamic Schemas.