#4-> Refer Subscription based on date.(2 subscription) import json from datetime import datetime from bson.objectid import ObjectId with open('referSubByDate.json', 'r') as file: data = json.load(file) not_found_ids = [] not_updated_ids = [] for item in data['data']: _id = item['id'] date = item['date'] date_object = datetime.strptime(date, "%d/%m/%Y") new_date = date_object.strftime("%Y-%m-%dT%H:%M:%S.000+00:00") participant_record = db["participantBaselineAndFollowupData"].find_one({"_id": ObjectId(_id)}) if participant_record: user_id = participant_record["participantId"] subscription_record = db["subscription"].find_one({"userId": user_id, "startDate": new_date}) if subscription_record: startDate = subscription_record["startDate"] program_code = subscription_record["subscriptionPlan"].get("programCode") result = db["participantBaselineAndFollowupData"].update_one( {"_id": participant_record["_id"]}, {"$set": {"programCode": program_code, "programStartDate": startDate}} ) if result.modified_count == 0: not_updated_ids.append(_id) else: not_updated_ids.append(_id) else: not_found_ids.append(_id) print("Completed") if not_found_ids: print(f"IDs not found: {not_found_ids}") if not_updated_ids: print(f"IDs not updated: {not_updated_ids}")
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter