MongoDB में प्रश्न उप-दस्तावेज़ (या, जैसा कि आपके मामले में, उप-दस्तावेज़ों के उप-दस्तावेज़) वापस नहीं करते हैं। वे मेल खाते हैं और संग्रह में दस्तावेजों को वापस कर देते हैं। प्रोजेक्शन द्वारा दस्तावेज़ों का आकार थोड़ा बदला जा सकता है, लेकिन यह सीमित है। यदि आप सामान्य रूप से नवीनतम टैग ढूंढना चाहते हैं, तो संभवतः आप अपने दस्तावेज़ों को टैग का प्रतिनिधित्व करना चाहते हैं। एक सरणी में एक सरणी रखना आम तौर पर MongoDB में भी एक बुरा विचार है।
यदि यह एक असामान्य ऑपरेशन है, और विशेष रूप से तेज़ होने की आवश्यकता नहीं है, तो आप एक एकत्रीकरण का उपयोग कर सकते हैं:
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" } } }
])