ऐसा लगता है कि कमांड लाइन से किसी सरणी के भीतर किसी फ़ील्ड का नाम बदलना संभव नहीं है जैसा कि इस प्रश्न में उत्तर दिया गया है:
MongoDB सरणी के भीतर डेटाबेस फ़ील्ड का नाम बदलें
रॉकमोंगो के माध्यम से इन मूल्यों को बदलना संभव है, हालांकि उपयोगकर्ता लिआड लिवनेट द्वारा सुझाए गए अनुसार।
मेरे विशेष उदाहरण के लिए, वहाँ सीटी मैंने भी सरणी को हटा दिया और संरचना को बदल दिया:
{
"field1": "value 1",
"field2": {"subfield1": "value 2", "subfield2": "value 3"},
"field3": "value 4"
}
इस ऑब्जेक्ट को क्वेरी करना तब संभव था:
db.myCollection.find( {"field2.subfield2":"value 3"} );