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

मोंगोडब:अगर मौजूद नहीं है तो डालें

लगता है जैसे आप "अप्सर्ट" करना चाहते हैं। MongoDB ने इसके लिए बिल्ट-इन सपोर्ट दिया है। अपने अपडेट() कॉल के लिए एक अतिरिक्त पैरामीटर पास करें:{upert:true}। उदाहरण के लिए:

key = {'key':'value'}
data = {'key2':'value2', 'key3':'value3'};
coll.update(key, data, upsert=True); #In python upsert must be passed as a keyword argument

यह आपके if-find-else-update ब्लॉक को पूरी तरह से बदल देता है। यदि कुंजी मौजूद नहीं है तो यह सम्मिलित हो जाएगा और यदि ऐसा है तो अपडेट हो जाएगा।

इससे पहले:

{"key":"value", "key2":"Ohai."}

इसके बाद:

{"key":"value", "key2":"value2", "key3":"value3"}

आप यह भी निर्दिष्ट कर सकते हैं कि आप कौन सा डेटा लिखना चाहते हैं:

data = {"$set":{"key2":"value2"}}

अब आपका चयनित दस्तावेज़ केवल "key2" के मान को अपडेट करेगा और बाकी सब कुछ अछूता छोड़ देगा।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगो बल्क एकल क्वेरी में मिलान किए गए दस्तावेज़ फ़ील्ड को ढूंढें और अपडेट करें?

  2. ClusterControl 1.4.2 की घोषणा - DevOps संस्करण

  3. मोंगो:वापसी गिनती के बराबर नहीं है ()

  4. मोंगो एकत्रीकरण में दस्तावेज़ में सरणी फ़ील्ड को कैसे मर्ज करें?

  5. Amazon Linux पर MongoDB स्थापित करने के चरण