TinyDB-তে ডেটা অনুসন্ধানের সময় AND, OR, এবং NOT শর্ত ব্যবহার করে ডেটা ফিল্টার করা সম্ভব। এটি Query ক্লাসের মাধ্যমে পরিচালিত হয়, যা সহজ এবং সরল উপায়ে জটিল ফিল্টারিং পরিচালনা করে।
AND শর্ত ব্যবহার
AND শর্ত ব্যবহার করে একাধিক শর্ত মিলে গেলে ডেটা রিটার্ন করা হয়।
উদাহরণ:
from tinydb import TinyDB, Query
# ডাটাবেস তৈরি
db = TinyDB('db.json')
# ডেটা যোগ করা
db.insert({'name': 'Rahim', 'age': 30, 'city': 'Dhaka'})
db.insert({'name': 'Karim', 'age': 25, 'city': 'Chittagong'})
db.insert({'name': 'Rahim', 'age': 40, 'city': 'Sylhet'})
# ডেটা অনুসন্ধান (AND শর্ত)
User = Query()
result = db.search((User.name == 'Rahim') & (User.city == 'Dhaka'))
print(result)
আউটপুট:
[{'name': 'Rahim', 'age': 30, 'city': 'Dhaka'}]
OR শর্ত ব্যবহার
OR শর্ত ব্যবহার করে একটি শর্ত পূরণ হলেই ডেটা রিটার্ন করা হয়।
উদাহরণ:
# ডেটা অনুসন্ধান (OR শর্ত)
result = db.search((User.name == 'Rahim') | (User.city == 'Chittagong'))
print(result)
আউটপুট:
[
{'name': 'Rahim', 'age': 30, 'city': 'Dhaka'},
{'name': 'Karim', 'age': 25, 'city': 'Chittagong'},
{'name': 'Rahim', 'age': 40, 'city': 'Sylhet'}
]
NOT শর্ত ব্যবহার
NOT শর্ত ব্যবহার করে শর্ত পূরণ না করা ডেটা রিটার্ন করা হয়।
উদাহরণ:
# ডেটা অনুসন্ধান (NOT শর্ত)
result = db.search(~(User.city == 'Dhaka'))
print(result)
আউটপুট:
[
{'name': 'Karim', 'age': 25, 'city': 'Chittagong'},
{'name': 'Rahim', 'age': 40, 'city': 'Sylhet'}
]
একাধিক শর্তের কম্বিনেশন
AND, OR, এবং NOT একসাথে ব্যবহার করা সম্ভব।
উদাহরণ:
# ডেটা অনুসন্ধান (কম্বিনেশন শর্ত)
result = db.search((User.age > 20) & ((User.city == 'Dhaka') | ~(User.name == 'Karim')))
print(result)
আউটপুট:
[
{'name': 'Rahim', 'age': 30, 'city': 'Dhaka'},
{'name': 'Rahim', 'age': 40, 'city': 'Sylhet'}
]
সারাংশ
TinyDB-তে AND, OR, এবং NOT শর্ত ব্যবহার করে সহজে ডেটা ফিল্টার করা যায়। এটি জটিল অনুসন্ধান কার্যক্রম সহজ করে এবং ছোট স্কেল অ্যাপ্লিকেশনের জন্য কার্যকর ডেটা ম্যানেজমেন্ট সিস্টেম প্রদান করে।