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

पाइमोंगो का उपयोग करके मूल्यों को कैसे अपडेट करें?

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

यदि p प्राप्त की गई वस्तु है:

existing = p['d']['a']

पायमोंगो संस्करणों के लिए <3.0

db.ProductData.update({
  '_id': p['_id']
},{
  '$set': {
    'd.a': existing + 1
  }
}, upsert=False, multi=False)

पायमोंगो संस्करणों के लिए>=3.0

db.ProductData.update_one({
  '_id': p['_id']
},{
  '$set': {
    'd.a': existing + 1
  }
}, upsert=False)

हालाँकि, यदि आपको केवल मूल्य बढ़ाने की आवश्यकता है, तो यह दृष्टिकोण समस्याएँ पेश कर सकता है जब कई अनुरोध एक साथ चल सकते हैं। इसके बजाय आपको $inc सिंटैक्स का उपयोग करना चाहिए:

पायमोंगो संस्करणों के लिए <3.0:

db.ProductData.update({
  '_id': p['_id']
},{
  '$inc': {
    'd.a': 1
  }
}, upsert=False, multi=False)

पायमोंगो संस्करणों के लिए>=3.0:

db.ProductData.update_one({
  '_id': p['_id']
},{
  '$inc': {
    'd.a': 1
  }
}, upsert=False)

यह सुनिश्चित करता है कि आपकी वेतन वृद्धि हमेशा होती रहेगी।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. nosql (मोंगोडब और नेवला) के साथ कई से कई संबंध

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

  3. MongoDB - ऐरे तत्व को अपडेट या पुश करने के लिए $सेट

  4. बैचों में mongoDB रिकॉर्ड ढूँढना (मोंगोइड रूबी एडाप्टर का उपयोग करके)

  5. MongoDB.Driver.Builders कैसे समूहित करें और औसत प्राप्त करें