The MongoDB Writer for fme currently does not support writing to the MongoDB array data type. I am trying to develop a workflow in fme that can write to a JSON array data type in MongoDB when the number of objects in a json array are not fixed, for example (see "alternateNames array"):
{
    "geonameId" : 3,
    "name" : Toronto,
    "alternateNames" : 3Â
        {  Â
    "alternateName" : "Toronto",
            "isoLanguage" : "af"
        },Â
        {
            "alternateName" : "Toronto",
            "isoLanguage" : "fa"
        }
    ]
}
Â
in another record from the source, this "alternateNames" array might be contain more objects:
{
    "geonameId" : 1859924,
    "name" : Kashiwa,
    "alternateNames" : eÂ
        {  Â
    "alternateName" : "Kashiwa",
            "isoLanguage" : "eng"
        },Â
  {  Â
    "alternateName" : "Ka?iva",
            "isoLanguage" : "eng"
        },Â
        {
            "alternateName" : ??????,
            "isoLanguage" : "ar"
        }
    ]
}
Â
If there is only one object in the array, I know I can use the JSONFlattener to format it so it will write to the MongoDB writer as an array (see example below). Unfortunately, this workflow does not work if the objects in the array is > 1.Â
The source data loaded into FME, it looks like this:Â
Attribute NameAttribute ValuegeonameId6167865nameTorontoAlternateNames {"alternateName":"Toronto","isoLanguage":"af"},{"alternateName":"Toronto","isoLanguage":"ang"}]