NodeJS + Mongoose + Backbone.Marionette nested Collection templating

all I'm developing an application that store my multimedia catalog, I've JSON collection like this :

    { "_id" : ObjectId( "5142f55394474e2aac000001" ),
      "contentType" : "binary/octet-stream",
      "length" : 2732376,
      "chunkSize" : 262144,
      "uploadDate" : Date( 1363342677601 ),
      "metadata" : { 
         "TIT2" : "Chase The Blues (Cameron McVey Remix)",
         "TPE1" : "Terranova",
         "TRCK" : "1/13",
         "TALB" : "!K7",
         "TPOS" : "1/1",
         "TDRC" : "2000-06",
         "TCON" : [ 
                   "Electronica", 
                   "Trip-Hop" ],
         "COMM" : [ 
                   "Chillout", 
                   "Love", 
                   "German", 
                   "Berlin", 
                   "2000s", 
                   "Female Vocalists", 
                   "Male Vocalists" ],
         "TMED" : "CD",
         "TMOO" : "Chill",
         "TDOR" : "2000-06",
         "TSO2" : "Various Artists",
         "TPE2" : "Various Artists",
         "TCMP" : "1",
         "TSOP" : "Terranova",
         "TIT1" : "Electronica",
         "TPUB" : "Sinedín Music",
         "TLAN" : "eng",
         "TYER" : [ 
                  "2000" ],
         },
      "md5" : "617401af615ac0c6cb1dee9a3f1b99e6",
      "origin" : "Chase The Blues.109eb5ab5105a1caa505a26657f7f9a8.mp3",
      "evolution" : null,
      "insertDate" : Date( 1336662308000 ),
      "tagSource" : "MusicBrainz",
      "mediainfo" : 
                  { "Format" : "MPEG Audio",
                    "Format version" : "Version 1",
                    "Format profile" : "Layer 3",
                    "Duration" : "3mn 47s",
                    "Bit rate mode" : "Constant",
                    "Bit rate" : "96.0 Kbps",
                    "Channel(s)" : "1 channel",
                    "Sampling rate" : "44.1 KHz",
                    "Compression mode" : "Lossy",
                    "Stream size" : "2.60 MiB (100%)",
                    "Language" : "English" 
                  }
        }

so, as you can see, there are "metadata" and "mediainfo" array in the document in the models.js , in the client side, I've rewrite the model parse function like this

    var Audio_Model = Backbone.Model.extend({

      idAttribute: "_id",
      url: 'AudioModel',
      urlRoot: 'AudioModel' ,

      parse: function(response) {

      // Check if response includes some nested collection data...
      if (_.has(response, 'metadata')){

         // Check if this model has a property called metadata
         if (!_.has(this, 'metadata')) {  // It does not...
             // So instantiate a collection and pass in raw data
             this.metadata = new Audio_Collection_Metadata(response.metadata);
         } else {
             // It does, so just reset the collection
             this.metadata.reset(response.metadata);
         }
         delete response.metadata;
      }
      // Check if response includes some nested collection data...
      if (_.has(response, 'mediainfo')){
             // Check if this model has a property called mediainfo
             if (!_.has(this, 'mediainfo')) {  // It does not...
             // So instantiate a collection and pass in raw data
             this.mediainfo = new Audio_Collection_Mediainfo(response.mediainfo);
         } else {
             // It does, so just reset the collection
             this.mediainfo.reset(response.mediainfo);
    }
    delete response.mediainfo;
   }
   return response;
   }
  });

so I've created two separate collection of 'metadata' and 'mediainfo' the problem that I've is how to render 'metadata' and 'mediainfo' in html template because in 'mediainfo' and 'metadata' collection the key, values are not fixed and in 'metadata' some keys are array of values and the number of item in the array are not fixed

I've created backbone.marionette.itemview and compositeview for these two collections but I don't know how to render

Plase, someone have a solutions ? Best Regards

finally I've fixed the problem myself with a data normalization, this is the new mongoose schema adopted :

    var TagSchema = new mongoose.Schema({
  value : {type : String, default: '', required: true}
    });

    var MetadataSchema = new mongoose.Schema({
 name  : {type: String, default: '', required : true},
 values: [TagSchema]
    });

    var MediainfoSchema = new mongoose.Schema({
 name : {type: String, default: ''},
 value: {type: String, default: ''}
    });

    var StreamSchema = new mongoose.Schema({
 _id: mongoose.Schema.ObjectId,
 TIT2: {type : String, default: '', required: true},
 metadata: [MetadataSchema],
 mediainfo:[MediainfoSchema]
   });

so that with sequence of CollectionView and CompositeView I can browse the entire model Hope this can help someone