MongoDB-யில் Python மூலம் தரவுகளை புதுப்பித்தல் (Update)
MongoDB-யில் தரவுகளை புதுப்பிக்க (update) Python மற்றும் pymongo மாடியூலைப் பயன்படுத்தலாம். புது தரவுகளைச் சேர்த்தல் அல்லது முந்தைய தரவுகளை மாற்றுவதற்கான வசதியை MongoDB வழங்குகிறது. இந்தக் கட்டுரையில் Python-ஐ பயன்படுத்தி MongoDB-யில் தரவுகளை எப்படி புதுப்பிப்பது என்பதைக் காண்போம்.
MongoDB மற்றும் Python அமைப்புகள்:
- MongoDB நிறுவுதல்
உங்கள் கணினியில் MongoDBயை நிறுவ, பின்வரும் கட்டளையை இயக்கவும்:
sudo apt-get install -y mongodb
- Python pymongo மாடியூலை நிறுவுதல்
pymongo மாடியூலை MongoDB-யுடன் Python இணைக்க தேவையாகும். இதனை நிறுவ:
pip install pymongo
- MongoDB சேவையை துவங்குதல்
MongoDB சேவையை பின்வரும் கட்டளையால் துவங்கலாம்:
sudo service mongod start
Python மூலம் MongoDB-யில் தரவுகளை புதுப்பித்தல்:
MongoDB-யில் உள்ள ஆவணங்களை (documents) Python மூலம் புதுப்பிக்க பல்வேறு செயலிகள் உள்ளன, அவற்றைப் பயன்படுத்தி தரவுகளை மாற்றலாம்.
1. ஒரே ஒரு ஆவணத்தைப் புதுப்பித்தல் (Update One)
from pymongo import MongoClient
# MongoDB-யுடன் இணைவதற்கான Client உருவாக்கம்
client = MongoClient('localhost', 27017)
# 'SchoolDB' என்ற தரவுத்தொகுப்பை தேர்வு செய்தல்
db = client['SchoolDB']
# 'students' என்ற collection-ஐ தேர்வு செய்தல்
collection = db['students']
# 'Arun' என்ற மாணவரின் வயதைக் புதுப்பித்தல்
collection.update_one({"name": "Arun"}, {"$set": {"age": 16}})
print("Arun-ன் வயது MongoDB-யில் புதுப்பிக்கப்பட்டது.")
விளக்கம்:
update_one()
செயலியைப் பயன்படுத்தி MongoDB-யில் ஒரு ஆவணத்தின் குறிப்பிட்ட புலத்தை (field) புதுப்பிக்கலாம்."$set"
செயலியைப் பயன்படுத்தி புதிய மதிப்பை உள்ளீடு செய்கிறோம்.
2. பல ஆவணங்களைப் புதுப்பித்தல் (Update Many)
# 10ஆம் வகுப்பு மாணவர்களின் வகுப்பை 11ஆக மாற்றுதல்
collection.update_many({"class": "10th"}, {"$set": {"class": "11th"}})
print("10ஆம் வகுப்பு மாணவர்களின் வகுப்பு MongoDB-யில் புதுப்பிக்கப்பட்டது.")
விளக்கம்:
update_many()
செயலி MongoDB-யில் நிபந்தனைக்கு ஏற்ப அனைத்து ஆவணங்களையும் புதுப்பிக்க உதவுகிறது.- இதில்,
10ஆம் வகுப்பு
மாணவர்களின்class
புலம் 11ஆக மாற்றப்பட்டுள்ளது.
3. கிரியை (Operators) பயன்படுத்தி புதுப்பித்தல்
முந்தைய புலத்தில் உள்ள மதிப்பை மாற்ற, $inc
போன்ற கிரியைகளை பயன்படுத்தலாம். உதாரணமாக, மாணவரின் மதிப்பெண்களை 5 குறைத்து புதுப்பிக்க:
# மாணவரின் மதிப்பெண்களை 5 இல் குறைத்தல்
collection.update_one({"name": "Arun"}, {"$inc": {"marks": -5}})
print("Arun-ன் மதிப்பெண்கள் MongoDB-யில் புதுப்பிக்கப்பட்டது.")
4. உடனடியாகப் புதுப்பிக்க (Upsert)
ஆவணத்தை புதுப்பிக்கும்போது அது இல்லாவிட்டால் புதிய ஆவணத்தை உருவாக்க upsert=True
என்பதைச் சேர்க்கலாம்:
# Arun இல்லாவிட்டால் புதிய ஆவணத்தை உருவாக்குதல்
collection.update_one({"name": "Arun"}, {"$set": {"age": 16}}, upsert=True)
print("Arun என்ற ஆவணம் MongoDB-யில் புதுப்பிக்கப்பட்டது அல்லது உருவாக்கப்பட்டது.")
முடிவு:
Python மற்றும் pymongo-வை பயன்படுத்தி MongoDB-யில் தரவுகளை எளிதாக புதுப்பிக்கலாம். update_one()
, update_many()
, மற்றும் upsert
போன்ற செயலிகள் MongoDB-யில் உள்ள தரவுகளை மாற்றுவதற்கும் புதிய தரவுகளைச் சேர்ப்பதற்கும் பயனுள்ளது.