Skip to content

เชื่อมต่อกับฐานข้อมูล MongoDB ใน Python

  หลาย ๆ ท่านที่เคยใช้ฐานข้อมูล MongoDB ซึ่งเป็นฐานข้อมูลแบบ NoSQL บทความนี้จะพาผู้อ่านไปเชื่อมต่อกับฐานข้อมูล MongoDB ใน Python กันครับ

  เนื่องจากฐานข้อมูล MongoDB เป็นฐานข้อมูลแบบ NoSQL ทำให้ไม่สามารถใช้โมดูลพวก SQL ในการเชื่อมต่อได้ ทีมงานนักพัฒนาฐานข้อมูล MongoDB จึงออก Driver ฐานข้อมูลให้ภาษาต่าง ๆ เพื่อนำไปประยุกต์กับงานภาษานั้น ๆ และมี MongoDB Driver สำหรับ Python 2 และ Python 3 ออกมาด้วยครับ  MongoDB Driver ที่ออกมานี้ใช้ Apache License, Version 2.0 ครับ
Python MongoDB Driver มีชื่อว่า pymongo

การติดตั้ง Python MongoDB Driver

ใช้ pip ด้วยคำสั่ง

pip install pymongo

สำหรับบน Windows โหลดไฟล์ติดตั้ง Python MongoDB Driver ได้ที่ PyPI
เวลาจะเรียกใช้ให้ import pymongo

ตัวอย่างโค้ดเชื่อมต่อกับฐานข้อมูล MongoDB ใน Python แบบเบื้องต้น

>>> import pymongo
>>> client = pymongo.MongoClient("localhost", 27017) #กำหนดรายละเอียดระบบฐานข้อมูล
>>> db = client.test #เชื่อต่อกับฐานข้อมูล
>>> db.name #บอกชื่อฐานข้อมูล
u'test'
>>> db.my_collection
Collection(Database(MongoClient('localhost', 27017), u'test'), u'my_collection')
>>> db.my_collection.save({"x": 10})
ObjectId('4aba15ebe23f6b53b0000000')
>>> db.my_collection.save({"x": 8})
ObjectId('4aba160ee23f6b543e000000')
>>> db.my_collection.save({"x": 11})
ObjectId('4aba160ee23f6b543e000002')
>>> db.my_collection.find_one()
{u'x': 10, u'_id': ObjectId('4aba15ebe23f6b53b0000000')}
>>> for item in db.my_collection.find():
...     print item["x"]
...
10
8
11
>>> db.my_collection.create_index("x")
u'x_1'
>>> for item in db.my_collection.find().sort("x", pymongo.ASCENDING):
...     print item["x"]
...
8
10
11
>>> [item["x"] for item in db.my_collection.find().limit(2).skip(1)]
[8, 11]

เอกสารการใช้งาน Python MongoDB Driver http://docs.mongodb.org/ecosystem/drivers/python/
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

Published on Categories ไม่มีหมวดหมู่Tags

About wannaphong

วรรณพงษ์ ภัททิยไพบูลย์ ผู้ดูแลเว็บ wannaphong.com และผู้เขียนบทความบล็อกนี้ นักศึกษาชั้นปีที่ 1 สาขาวิทยาการคอมพิวเตอร์และสารสนเทศ คณะวิทยาศาสตร์ประยุกต์และวิศวกรรมศาสตร์ มหาวิทยาลัยขอนแก่น วิทยาเขตหนองคาย

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *