आप $set
. का उपयोग नहीं करना चाहते यहाँ, लेकिन $pull
(दस्तावेज़ देखें
), और जब तक आप कर सकते थे $elemMatch
. का उपयोग करें अपनी क्वेरी को और निर्दिष्ट करने के लिए, आपको इसकी आवश्यकता नहीं है।
निम्नलिखित {"sender": "safari"}
. के साथ सभी ऐड फ्रेंड नोटिफिकेशन को खींच लेगा {"username": "amitverma"}
. से मेल खाने वाले दस्तावेज़ों की उप सरणी से
db.yourcollection.update({"username": "amitverma"}, {
$pull: {"notifications.notifications_add_friend": {"sender": "safari"}}
})
आपकी टिप्पणी के अनुसार, यदि आप किसी विशेष तत्व को अपडेट करना चाहते हैं तो आप करेंगे $set
. का उपयोग करें $elemMatch
. के संयोजन में और पोजिशनल ऑपरेटर $
. आपके उदाहरण के लिए, कुछ इस तरह:
db.yourcollection.update({
"username": "amitverma",
"notifications.notifications_add_friend": {
$elemMatch: {"sender": "safari"}
}
}, {
$set: {
"notifications.notifications_add_friend.$.isUnread": false
}
})