$pop ऑपरेटर सरणी के पहले या अंतिम तत्व को हटा देगा, जो जरूरी नहीं कि सही हो।
यदि आप एक विशिष्ट तत्व चाहते हैं, तो आप $pull कर सकते हैं परिभाषित मानदंड वाला आइटम:
model.registerCompany.findOneAndUpdate({companyKey:"a key"},
{$pull:{onlineEmployees:"John"}},
$pull
. के लिए आपको यह सुनिश्चित करना होगा कि सरणी में मान अद्वितीय है 'जॉन' नाम से मेल खाने वाले हर तत्व को हटा देता है।
यदि सरणी में समान मान मौजूद हैं, तो आपको $unset
. का उपयोग करने की आवश्यकता है और $
लक्ष्य तत्व मान को null
पर सेट करने के लिए स्थितीय ऑपरेटर (दुर्भाग्य से $unset तत्वों को नहीं हटाएगा) और फिर $pull
. का उपयोग करें null
वाले तत्व को हटाने के लिए मूल्य। ऐसा करने के लिए, आपको यह सुनिश्चित करना होगा कि वैध मान null
नहीं हो सकता है . उस स्थिति में, कोड इस प्रकार हो सकता है:
model.registerCompany.findOneAndUpdate({companyKey:"a key", onlineEmployees:"John"},{ $unset: { "onlineEmployees.$" : '' } } )
model.registerCompany.findOneAndUpdate({companyKey:"a key"},{ $pull: { "onlineEmployees" : null } } )