MongoDB: किसी ऐरे से किसी ऑब्जेक्ट को हटाना
MongoDB में, आप $ का उपयोग करके दस्तावेज़ में एम्बेडेड ऐरे से किसी ऑब्जेक्ट को हटा सकते हैं खींचने वाला ऑपरेटर. यदि आप किसी सरणी से किसी विशिष्ट ऑब्जेक्ट को हटाना चाहते हैं, तो आपको एक क्वेरी प्रदान करनी होगी जो सटीक ऑब्जेक्ट से मेल खाती हो।
निम्नलिखित दस्तावेज़ पर विचार करें:
{
_id: 5150a1199fac0e6910000002,
name: 'some name',
items: [{
id: 23,
name: 'item name 23'
},{
id: 24,
name: 'item name 24'
}]
}
आइटम सरणी से आईडी: 23 वाले आइटम को हटाने के लिए, निम्नलिखित कमांड का उपयोग करें:
db.mycollection.update( { '_id': ObjectId("5150a1199fac0e6910000002") }, { $pull: { items: { id: 23 } } }, false, // Upsert true, // Multi );
यह कमांड ऐरे से आइटम को हटाकर दस्तावेज़ को अपडेट करता है। क्वेरी _id फ़ील्ड का उपयोग करके दस्तावेज़ निर्दिष्ट करती है, और $pull ऑपरेटर आइटम सरणी को लक्षित करता है। $pull ऑपरेशन के भीतर, आप हटाए जाने वाले ऑब्जेक्ट से मेल खाने के लिए एक क्वेरी निर्दिष्ट कर सकते हैं। इस मामले में, हम आईडी के साथ ऑब्जेक्ट का मिलान करते हैं: 23। पुल() विधि:
const मॉडल = mongoose.model('मॉडल', नया नेवला.स्कीमा({ सामान: [{ आईडी नंबर, नाम: स्ट्रिंग }] })); मॉडल.अद्यतन( {'_id': '5150a1199fac0e6910000002' }, { $खींचें: {आइटम: {आईडी: 23 } } }, { मल्टी: ट्रू }, // सभी मेल खाने वाले दस्तावेज़ अपडेट करें (त्रुटि, परिणाम) => {यदि (!त्रुटि) कंसोल.लॉग(परिणाम); } );
यह कोड निर्दिष्ट _id से मेल खाने वाले सभी दस्तावेजों के आइटम सरणी से आईडी: 23 वाले आइटम को हटा देगा।अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3