इस समस्या का समाधान हो गया है। ऑब्जेक्ट्स के नेस्टेड सरणी के अंदर फ़ील्ड अपडेट करने की सुविधा, MongoDB 3.6+ संस्करणों में उपलब्ध है। यहां स्थितीय ऑपरेटरों (सभी और पहचानकर्ता के साथ) देखें।
//Update all docs in collection matching photo name "play" to "play photo"
db.collectioname.update(
{},
{ $set: { "albums.$[].photos.$[photo_field].name": "play photo" } },
{ arrayFilters: [ {"photo_field.name": "play"} ], multi: true}
);
//Update this specific doc given in question matching photo name "play" to "play photo"
db.collectioname.update(
{"_id" : ObjectId("4f41a5c7c32810e404000000")},
{ $set: { "albums.$[].photos.$[photo_field].name": "play photo" } },
{ arrayFilters: [ {"photo_field.name": "play"} ]}
);
<ब्लॉकक्वॉट> यह MongoDB 3.6 के बाद यहां आने वाले लोगों की मदद के लिए है