MongoDB เป็นฐานข้อมูลเอกสารที่ใช้กันอย่างแพร่หลายซึ่งเป็นรูปแบบของ NoSQL DB Python สามารถโต้ตอบกับ MongoDB ผ่านโมดูลหลามบางตัว และสร้างและจัดการข้อมูลภายใน Mongo DB ในบทความนี้เราจะเรียนรู้ที่จะทำสิ่งนั้น แต่ MongoDB ควรจะพร้อมใช้งานในระบบของคุณก่อนที่ python จะสามารถเชื่อมต่อและรันได้ ในการตั้งค่า MongoDB ในระบบของคุณ โปรดไปที่บทช่วยสอน MongoDB ที่นี่..
ติดตั้ง pymongo
ในการโต้ตอบกับ MongoDB เราจำเป็นต้องมีชื่อโมดูล pymongo ติดตั้งในสภาพแวดล้อมหลามของคุณโดยใช้คำสั่งด้านล่าง
pip install pymogo
ตรวจสอบฐานข้อมูลที่มีอยู่
ตอนนี้เราใช้โมดูลหลามนี้เพื่อตรวจสอบฐานข้อมูลที่มีอยู่ โปรแกรม python ด้านล่างเชื่อมต่อกับบริการ MongoDB และให้ผลลัพธ์ของรายชื่อ DB ที่พร้อมใช้งาน
ผลลัพธ์
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") print(myclient.list_database_names())
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
['Mymdb', 'admin', 'config', 'local']
ตรวจสอบคอลเลกชัน
คอลเล็กชันคล้ายกับตารางใน rdbms ดั้งเดิม ต่อไปเราสามารถตรวจสอบคอลเล็กชันที่มีอยู่ในฐานข้อมูลเฉพาะโดยใช้โปรแกรม python ด้านล่าง
ตัวอย่าง
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mndb = myclient["Mymdb"] print(mndb.list_collection_names())
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
['newmongocoll']
แทรกเอกสาร
เอกสารใน MongoDB ก็เปรียบได้กับแถวใน RDBMS ดั้งเดิมเช่นกัน ในโปรแกรมนี้ เราจะเห็นวิธีการแทรกเอกสารไปยัง MongoDB โดยใช้โปรแกรมหลาม ขั้นแรก เราเชื่อมต่อกับฐานข้อมูลและคอลเล็กชัน จากนั้นใช้พจนานุกรมเพื่อใส่ค่าของเอกสารลงในคอลเล็กชัน
ตัวอย่าง
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mndb = myclient["Mymdb"] mycol = mndb['newmongocoll'] mydict = { "ID": "2", "Name": "Ramana" } x = mycol.insert_one(mydict) print(x)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
<pymongo.results.InsertOneResult object at 0x000002CA92A920C0>
ค้นหาเอกสาร
นอกจากนี้เรายังสามารถสืบค้นเอกสารที่มีอยู่ใน MongoDB โดยใช้วิธี find ที่มีอยู่ใน pymongo
ตัวอย่าง
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mndb = myclient["Mymdb"] mycol = mndb['newmongocoll'] for x in mycol.find(): print(x)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
{'_id': ObjectId('5ef8b6f92d192421b78d32cb'), 'ID': '2', 'Name': 'Ramana'}