So it looks like FME's MongoDB writer does support writing nested attributes.
From the doc
"MongoDB documents may contain nested documents. For the reader, the fields in nested documents are represented as attributes with a period (.) in the name, in the form of: <nested_document_name>.<nested_document_field>. The writer treats these attributes the same way. If an attribute name contains a period, then it will be written as a nested field. "
So if you use a JOSNFlattener to recursively flatten the json attribute from the Oracle db you should get the something close to the correct structure to write into the mongoDB.
I'm not sure how would do it in a dynamic way though. Seems like you may need to expose each element...that would be pretty bad though.
Give it a test out