Query's in MongoDB retourneren geen subdocumenten (of, zoals in uw geval, subdocumenten van subdocumenten). Ze matchen en retourneren de documenten in de collectie. De vorm van de documenten kan een beetje worden gewijzigd door projectie, maar het is beperkt. Als u de nieuwste tag vaak wilt vinden, wilt u waarschijnlijk dat uw documenten tags vertegenwoordigen. Het hebben van een array in een array is over het algemeen ook een slecht idee in MongoDB.
Als dit een ongebruikelijke bewerking is en niet bijzonder snel hoeft te zijn, kunt u een aggregatie gebruiken:
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" } } }
])