Ordenar una matriz anidada en mangosta

Tengo un PlaylistShema con una variedad o músicas. En esta variedad de músicas tengo unObjectId (que se refieren a una colección de música), unaddedAt y untitle.

Lista de reproducciónShema

var PlaylistSchema = new Schema({
  title: {type : String, default : '', trim : true},
  user: {type : Schema.ObjectId, ref : 'User'},

  musics : [{ 
    musicId : {type : Schema.ObjectId , ref : 'Music'},
    title : {type : String},
    addedAt : {type : Date, default : Date.now}
  }],

  tags : { type : [], get : getTags, set : setTags},
  createdAt  : {type : Date, default : Date.now}
})

Tengo una estadística para cargar una lista de reproducción:

Función de carga

  load: function (id, cb) {
    this.findOne({ _id : id })
      .populate('user', 'name email username')
      .populate('musics.musicId')
      .exec(cb)
  }

quiero ordenar mis músicas poraddedAt... pero no puedo hacer.populate('musics.musicId', { sort: { 'addedAt': 'desc' } }) porque esto no es dondeaddedAt es...

Estoy muy confundido con poblar cuando se trata de una matriz anidada ...

Gracias !

MusicShema

var MusicSchema = new Schema({
  title: {type : String, default : '', trim : true}
})

Respuestas a la pregunta(1)

Su respuesta a la pregunta