MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

MongoDb में, आप किसी सरणी तत्व को उसकी अनुक्रमणिका द्वारा कैसे हटाते हैं?

सरणी अनुक्रमणिका द्वारा खींचने/निकालने का कोई सीधा तरीका नहीं है। वास्तव में, यह एक खुला मुद्दा है http://jira.mongodb.org/browse/SERVER-1014 , आप इसके लिए वोट कर सकते हैं।

समाधान $unset और फिर $pull का उपयोग कर रहा है:

db.lists.update({}, {$unset : {"interests.3" : 1 }}) 
db.lists.update({}, {$pull : {"interests" : null}})

अद्यतन:जैसा कि कुछ टिप्पणियों में बताया गया है कि यह दृष्टिकोण परमाणु नहीं है और कुछ दौड़ की स्थिति पैदा कर सकता है यदि अन्य ग्राहक दो परिचालनों के बीच पढ़ते और/या लिखते हैं। अगर हमें परमाणु होने के लिए ऑपरेशन की आवश्यकता है, तो हम कर सकते हैं:

  • डेटाबेस से दस्तावेज़ पढ़ें
  • दस्तावेज़ को अपडेट करें और सरणी में आइटम को हटा दें
  • दस्तावेज़ को डेटाबेस में बदलें। यह सुनिश्चित करने के लिए कि दस्तावेज़ पढ़ने के बाद से नहीं बदला है, हम अद्यतन का उपयोग कर सकते हैं यदि वर्तमान पैटर्न मोंगो डॉक्स में वर्णित है


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. रिमोट मोंगोडब को पाइमोंगो से कैसे कनेक्ट करें

  2. scala/play . में casbah mongodb सूची को json में कैसे बदलें

  3. MongoDB में रोलबैक को कैसे रोकें

  4. नेवला का डिफ़ॉल्ट वादा पुस्तकालय MEAN स्टैक में बहिष्कृत है

  5. MongoDB 3.0 . में अपडेट होने के बाद Heroku ऐप क्रैश हो जाता है