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

कई रिकॉर्ड के साथ PyMongo अद्यतन दस्तावेज़

नए आइटम के लिए

db.cmpe285.update({"username":username}, {"$push": {"stocks":{"name":stock_symbol,"count":allotment,"price":initial_share_price}}})

मौजूदा आइटम अपडेट करने के लिए यह मानते हुए कि आप आवंटन अद्यतन कर रहे हैं। आपको क्वेरी में संदर्भित सरणी मान के साथ स्थितीय ऑपरेटर ($) का उपयोग करने की आवश्यकता है।

db.cmpe285.update({"username":username, "stocks.name":stock_symbol}, {"$set": {"stocks.$.count":allotment2}})

आइटम ऊपर करने के लिए , यह एक 2 कदम प्रक्रिया है। आपको पहले क्वेरी को उसी तरह चलाने की आवश्यकता होगी जैसे आप ऊपर दिए गए मौजूदा आइटम को अपडेट करने के लिए करते हैं और उपरोक्त क्वेरी से लिखित परिणाम प्रतिक्रिया का निरीक्षण करते हैं और संशोधित गणना की जांच करते हैं। यदि संशोधित गणना 0 है, तो इसका मतलब है कि हमें अपसेट करने की आवश्यकता है और फिर आप इसे नए आइटम जोड़ने के मामले में ही करेंगे।

db.cmpe285.update({"username":username, "stocks.name":stock_symbol}, {"$set": {"stocks.$.count":allotment2}})

WriteResult देखें , अगर 0 के बराबर संशोधित किया गया है।

db.cmpe285.update({"username":username}, {"$push": {"stocks":{"name":stock_symbol,"count":allotment2,"price":initial_share_price}}})

अगर 1 के बराबर nmodified, upserting सफल हुआ।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. गोलंग मगो को खाली वस्तुएं मिल रही हैं

  2. उल्का-कोणीय में संबंधों को संभालना

  3. Neo4j के साथ मोंगोडब को एकीकृत करना, क्या कोई एपीआई है जो उन्हें लिंक करेगी?

  4. नेस्टेड दस्तावेज़ पर MongoDb TTL संभव है?

  5. उप-दस्तावेज़ में एसडी मोंगोडीबी बहुरूपता