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

PyMongo के साथ एक सरणी के अंदर एक वस्तु को अद्यतन कर रहा है

"dot notation" का प्रयोग करें और अद्यतन भाग में स्थितीय ऑपरेटर। मुख्य प्रतिनिधित्व के लिए "डॉट नोटेशन" फॉर्म से मेल खाने के लिए अपना इनपुट भी बदलें:

# Transform to "dot notation" on explicit field
for key in data:
    data["mylist.$." + key] = data[key]
    del data[key]

# Basically makes
# { 
#      "mylist.$.data1": "new lorem",
#      "mylist.$.data3": "goldeneye"
# }

db.testing.find_and_modify(
    query = {"_id": "12345", 'mylist.nested_id' : "1"},
    update = { "$set": data }
)

ताकि $ . को स्थानान्तरित किया जा सके अद्यतन के क्वेरी भाग से वास्तविक मिलान तत्व स्थिति में। मेल खाने वाले ऐरे एलीमेंट को अपडेट किया जाएगा और "डॉट नोटेशन" का इस्तेमाल करने से केवल बताए गए फ़ील्ड ही प्रभावित होंगे।

मुझे नहीं पता कि इस संदर्भ में "सेवा" का क्या अर्थ है और मैं इसे केवल "प्रतिलेखन त्रुटि" के रूप में मान रहा हूं क्योंकि आप स्पष्ट रूप से स्थिति में एक सरणी तत्व से मेल खाने की कोशिश कर रहे हैं।

यह अधिक साफ-सुथरा हो सकता है, लेकिन इससे आपको सामान्य विचार मिल सकता है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. NoSQL (MongoDB) बनाम Lucene (या Solr) आपके डेटाबेस के रूप में

  2. मोंगो खोल क्वेरी में केवल नेस्टेड सरणी के मिलान वाले फ़ील्ड कैसे प्रोजेक्ट करें?

  3. क्लाइंट नियंत्रक (MEAN.JS) से मोंगो क्वेरी पैरामीटर निर्दिष्ट करना

  4. MongoDB में खोज/प्रक्षेपण करते समय मैं फ़ील्ड का नाम कैसे बदलूं?

  5. मोंगोडीबी ग्रिडएफएस पूछताछ?