Forespørgsler i MongoDB returnerer ikke underdokumenter (eller, som i dit tilfælde, underdokumenter til underdokumenter). De matcher og returnerer dokumenterne i samlingen. Dokumenternes form kan ændres en smule ved projektion, men det er begrænset. Hvis du ofte vil finde det seneste tag, vil du sandsynligvis få dine dokumenter til at repræsentere tags. At have et array i et array er generelt også en dårlig idé i MongoDB.
Hvis dette er en ualmindelig operation, og en der ikke behøver at være særlig hurtig, kan du bruge en aggregering:
db.modules.aggregate([
{ "$unwind" : "$svn_branches" },
{ "$unwind" : "$svn_branches.tags" },
{ "$sort" : { "svn_branches.tags.updated_at" : -1 } },
{ "$group" : { "_id" : "$_id", "latest_tag" : { "$first" : "$svn_branches.tags" } } }
])