در دنیای امروز که دادهها بهصورت ساختارنیافته یا نیمهساختاریافته بهطور فزایندهای در حال افزایش هستند، نیاز به مدیریت آنها از طریق پایگاهدادههای NoSQL نیز رو به رشد است. یکی از رایجترین روشها برای این کار، استفاده از پایگاه داده NoSQL در پایتون است. زبان پایتون میتواند همانند پایگاهدادههای رابطهای، با پایگاهدادههای NoSQL نیز تعامل مؤثر داشته باشد. در این بخش، قصد داریم از پایتون برای ارتباط با MongoDB بهعنوان یکی از پایگاهدادههای NoSQL استفاده کنیم.
برای اتصال به MongoDB در پایتون، از کتابخانهای به نام pymongo
استفاده میشود. برای اضافه کردن این کتابخانه به محیط پایتون خود در محیط Anaconda، میتوانید از دستور زیر استفاده کنید:
1 |
conda install pymongo |
درج دادهها (Inserting Data)
برای درج دادهها در MongoDB، از متد insert()
استفاده میشود که در محیط پایگاهداده در دسترس است. ابتدا با استفاده از کد پایتون زیر به پایگاهداده متصل میشویم و سپس جزئیات سند موردنظر را بهصورت مجموعهای از جفتهای کلید-مقدار وارد میکنیم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# Import the python libraries from pymongo import MongoClient from pprint import pprint # Choose the appropriate client client = MongoClient() # Connect to the test db db=client.test # Use the employee collection employee = db.employee employee_details = { 'Name': 'Raj Kumar', 'Address': 'Sears Streer, NZ', 'Age': '42' } # Use the insert method result = employee.insert_one(employee_details) # Query for the inserted document. Queryresult = employee.find_one({'Age': '42'}) pprint(Queryresult) |
1 2 3 4 |
{u'Address': u'Sears Streer, NZ', u'Age': u'42', u'Name': u'Raj Kumar', u'_id': ObjectId('5adc5a9f84e7cd3940399f93')} |
بهروزرسانی دادهها (Updating Data)
برای بهروزرسانی دادههای موجود در MongoDB، روش کار مشابه درج اطلاعات است. اینبار از متد update()
استفاده میکنیم که مخصوص MongoDB است. در قطعهکد زیر، یک رکورد موجود را با جفتهای کلید-مقدار جدید جایگزین میکنیم. توجه داشته باشید که چگونه با استفاده از شرط، رکورد موردنظر برای بهروزرسانی انتخاب میشود.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# Import the python libraries from pymongo import MongoClient from pprint import pprint # Choose the appropriate client client = MongoClient() # Connect to db db=client.test employee = db.employee # Use the condition to choose the record # and use the update method db.employee.update_one( {"Age":'42'}, { "$set": { "Name":"Srinidhi", "Age":'35', "Address":"New Omsk, WC" } } ) Queryresult = employee.find_one({'Age':'35'}) pprint(Queryresult) |
1 2 3 4 |
{u'Address': u'New Omsk, WC', u'Age': u'35', u'Name': u'Srinidhi', u'_id': ObjectId('5adc5a9f84e7cd3940399f93')} |
حذف دادهها (Deleting Data)
برای حذف یک رکورد نیز میتوان بهسادگی از متد delete()
استفاده کرد. در این حالت نیز شرط مشخصی تعریف میکنیم تا رکورد موردنظر برای حذف انتخاب شود.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# Import the python libraries from pymongo import MongoClient from pprint import pprint # Choose the appropriate client client = MongoClient() # Connect to db db=client.test employee = db.employee # Use the condition to choose the record # and use the delete method db.employee.delete_one({"Age":'35'}) Queryresult = employee.find_one({'Age':'35'}) pprint(Queryresult) |
1 |
None |
راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.
- انتشار: ۱۸ مرداد ۱۴۰۴
دسته بندی موضوعات
- آموزش ارز دیجیتال
- آموزش برنامه نویسی
- آموزش متنی برنامه نویسی
- اطلاعیه و سایر مطالب
- پروژه برنامه نویسی
- دوره های تخصصی برنامه نویسی
- رپورتاژ
- فیلم های آموزشی
- ++C
- ADO.NET
- Adobe Flash
- Ajax
- AngularJS
- apache
- ARM
- Asp.Net
- ASP.NET MVC
- AVR
- Bootstrap
- CCNA
- CCNP
- CMD
- CSS
- Dreameaver
- EntityFramework
- HTML
- IOS
- jquery
- Linq
- Mysql
- Oracle
- PHP
- PHPMyAdmin
- Rational Rose
- silver light
- SQL Server
- Stimulsoft Reports
- Telerik
- UML
- VB.NET&VB6
- WPF
- Xml
- آموزش های پروژه محور
- اتوکد
- الگوریتم تقریبی
- امنیت
- اندروید
- اندروید استودیو
- بک ترک
- بیسیک فور اندروید
- پایتون
- جاوا
- جاوا اسکریپت
- جوملا
- دلفی
- دوره آموزش Go
- دوره های رایگان پیشنهادی
- زامارین
- سئو
- ساخت CMS
- سی شارپ
- شبکه و مجازی سازی
- طراحی الگوریتم
- طراحی بازی
- طراحی وب
- فتوشاپ
- فریم ورک codeigniter
- فلاتر
- کانستراکت
- کریستال ریپورت
- لاراول
- معماری کامپیوتر
- مهندسی اینترنت
- هوش مصنوعی
- یونیتی
- کتاب های آموزشی
- Android
- ASP.NET
- AVR
- LINQ
- php
- Workflow
- اچ تی ام ال
- بانک اطلاعاتی
- برنامه نویسی سوکت
- برنامه نویسی موبایل
- پاسکال
- پایان نامه
- پایتون
- جاوا
- جاوا اسکریپت
- جی کوئری
- داده کاوی
- دلفی
- رباتیک
- سئو
- سایر کتاب ها
- سخت افزار
- سی اس اس
- سی پلاس پلاس
- سی شارپ
- طراحی الگوریتم
- فتوشاپ
- مقاله
- مهندسی نرم افزار
- هک و امنیت
- هوش مصنوعی
- ویژوال بیسیک
- نرم افزار و ابزار برنامه نویسی
- وردپرس