Dotazy v MongoDB nevracejí vnořené dokumenty (nebo jako ve vašem případě vnořené dokumenty vnořených dokumentů). Dokumenty ve sbírce spárují a vrátí. Tvar dokumentů lze projekcí trochu změnit, ale je to omezené. Pokud chcete běžně najít nejnovější tag, pravděpodobně budete chtít, aby vaše dokumenty představovaly tagy. Mít pole v poli je obecně špatný nápad i v MongoDB.
Pokud se jedná o neobvyklou operaci, která nemusí být obzvláště rychlá, můžete použít agregaci:
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" } } }
])