आप आमतौर पर स्थितीय ऑपरेटर $
. का उपयोग करके ऐसा करेंगे , जैसा कि इस प्रश्न के उत्तर में वर्णित है:
MongoDB में सटीक एलीमेंट ऐरे में फ़ील्ड अपडेट करेंए>
दुर्भाग्य से, अभी स्थितीय ऑपरेटर केवल एक सरणी स्तर के गहरे मिलान का समर्थन करता है।
आप जो व्यवहार चाहते हैं, उसके लिए एक JIRA टिकट है:https://jira.mongodb .org/browse/SERVER-831
यदि आप Switches
कर सकते हैं इसके बजाय किसी ऑब्जेक्ट में, आप ऐसा कुछ कर सकते हैं:
db.colection.update(
{
_id: ObjectId("561ad881755a021904c00fb5"),
"Switch.Ports.PortNumber": 5
},
{
$set: {
"Switch.Ports.$.Status": "Empty"
}
}
)