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

मोंगोडब संग्रह और एक पायथन डिक्ट मर्ज करें

आप नीचे दिए गए कोड को आजमा सकते हैं:

import pymongo
from pymongo import UpdateOne
import json
import sys

inputArray = [
    {"name": "aaa", "value": 40},
    {"name": "ccc", "value": -100},
    {"name": "ddd", "value": 200},
]

bulkArr = []

# Iterate over all dicts in a list & form the query,
# Here `upsert=True` helps to insert a new doc into collection if there is no match on `{"name": x['name']}`,
# If there is a match doc will be updated, You can use `$set` or any-other operator depends on your use case.
for x in inputArray:
    bulkArr.append(
        UpdateOne({"name": x['name']}, {'$inc': {'value': x['value']}}, upsert=True))

# print('[%s]' % ', '.join(map(str, bulkArr)))

try:
    result = db.collection.bulk_write(bulkArr) # Ensure db connection is established by this point
    # Opt for below - if you want to proceed on all dictionaries to be updated, even though an error occured in between for one dict
    # result = db.collection.bulk_write(bulkArr, ordered=False)
    print(result.bulk_api_result)
except:
    e = sys.exc_info()[0]
    print("An exception occurred ::", e) ## Get the ids failed if any & do re-try

संदर्भ : बल्क-राइट-ऑपरेशंस



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडीबी $setOnInsert

  2. क्या मोंगोडीबी को प्रक्रिया में होस्ट किया जा सकता है?

  3. मोंगोडब क्लाइंट को स्थानीय उल्का मोंगोडीबी से कैसे कनेक्ट करें

  4. एक पायथन एप्लिकेशन कैसे लिखें जो एकाधिक डेटाबेस का समर्थन करता है

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