Blockdit Logo
Blockdit Logo (Mobile)
สำรวจ
ลงทุน
คำถาม
เข้าสู่ระบบ
มีบัญชีอยู่แล้ว?
เข้าสู่ระบบ
หรือ
ลงทะเบียน
Shoper Gamer
•
ติดตาม
23 ธ.ค. 2025 เวลา 05:39 • การศึกษา
PyMongo คืออะไร
โดย
ในยุคที่ Python เป็นภาษาหลักสำหรับการจัดการข้อมูล (Data Science) และ การพัฒนาเว็บ ส่วน MongoDB เป็นจ้าวแห่งฐานข้อมูล NoSQL ที่ยืดหยุ่นที่สุด การจะทำให้ทั้งสองทำงานร่วมกันได้อย่างราบรื่นจำเป็นต้องมีตัวกลางที่ทรงพลัง ซึ่งนั่นคือหน้าที่ของ PyMongo ไดรเวอร์อย่างเป็นทางการที่ทำให้โค้ด Python ของคุณคุยกับ MongoDB ได้อย่างเป็นธรรมชาติ
★
PyMongo คืออะไร
PyMongo คือ Library หรือ Driver อย่างเป็นทางการที่พัฒนาโดยทีม MongoDB เพื่อให้ภาษา Python สามารถจัดการข้อมูลใน MongoDB ได้ โดยหน้าที่หลักของมันคือการแปลงข้อมูลระหว่าง Python Dictionary และ รูปแบบ BSON (Binary JSON) ที่ MongoDB ใช้เก็บข้อมูลจริง
★
💡 ลองจินตนาการว่า
1
MongoDB = ตู้เก็บเอกสารอัจฉริยะ
Python Code = คุณที่ต้องการเขียน หรือ อ่านเอกสาร
PyMongo = ผู้ช่วยส่วนตัวที่พูดได้ทั้งภาษาคุณ และ ภาษาของตู้เอกสารนั้น
★
🛠️ เริ่มต้นใช้งาน PyMongo
1) การติดตั้ง
คุณสามารถติดตั้ง PyMongo ได้ง่ายๆ ผ่าน pip:
```bash
pip install pymongo
2
```
1
2) การเชื่อมต่อฐานข้อมูล (Connection)
```python
from pymongo import MongoClient
# เชื่อมต่อกับ MongoDB ที่รันอยู่ในเครื่อง (Localhost)
client = MongoClient('mongodb://localhost:27017/')
# เลือกฐานข้อมูล (ถ้ายังไม่มี MongoDB จะสร้างให้โดยอัตโนมัติเมื่อมีการเขียนข้อมูล)
db = client['school_db']
# เลือก Collection (เปรียบเสมือน Table ใน SQL)
students = db['students']
```
★
🔥 Workshop: ตัวอย่างคำสั่ง CRUD ที่ใช้บ่อย
1. การเพิ่มข้อมูล (Create)
ใน PyMongo เราใช้ dict ในการแทนข้อมูลหนึ่งเอกสาร (Document)
```python
# เพิ่มข้อมูล 1 รายการ
student_a = {
"name": "สมชาย",
"grade": 3.5,
"subjects": ["Math", "Science"]
}
result = students.insert_one(student_a)
print(f"เพิ่มข้อมูลสำเร็จ ID: {result.inserted_id}")
# เพิ่มข้อมูลหลายรายการพร้อมกัน
student_list = [
{"name": "สมศรี", "grade": 3.8},
{"name": "วิชัย", "grade": 3.2}
]
students.insert_many(student_list)
```
2) การอ่านข้อมูล (Read)
```python
# ค้นหาข้อมูล 1 รายการ
user = students.find_one({"name": "สมชาย"})
print(user)
# ค้นหาทั้งหมดที่มีเกรดมากกว่า 3.4
# $gt ย่อมาจาก Greater Than
query = {"grade": {"$gt": 3.4}}
for s in students.find(query):
print(s["name"], s["grade"])
2
```
3) การอัปเดตข้อมูล (Update)
```python
# อัปเดตเกรดของสมชาย
filter_query = {"name": "สมชาย"}
new_values = {"$set": {"grade": 3.6}}
students.update_one(filter_query, new_values)
```
4) การลบข้อมูล (Delete)
```python
# ลบข้อมูลที่ชื่อว่า วิชัย
students.delete_one({"name": "วิชัย"})
```
★
📊 การใช้งานขั้นสูง Aggregation และ Indexing
PyMongo รองรับฟีเจอร์ระดับสูงของ MongoDB ทั้งหมด เช่นการทำ Aggregation Pipeline เพื่อประมวลผลข้อมูลที่ซับซ้อน
```python
# ตัวอย่าง: หาเกรดเฉลี่ยของนักเรียนทั้งหมด
pipeline = [
{"$group": {"_id": None, "average_grade": {"$avg": "$grade"}}}
]
results = list(students.aggregate(pipeline))
print(f"เกรดเฉลี่ยรวม: {results[0]['average_grade']}")
```
★
ประโยชน์
✅️ Pythonic
คำสั่งต่างๆ ถูกออกแบบมาให้เหมือนกับการจัดการ List และ Dictionary ใน Python ทำให้เรียนรู้ได้เร็ว
✅️ ประสิทธิภาพสูง
รองรับการทำ Connection Pooling (จัดการคิวการเชื่อมต่อ) ให้อัตโนมัติ
✅️ ความปลอดภัย
รองรับการเข้ารหัส SSL/TLS และ การยืนยันตัวตนทุกรูปแบบ
✅️ รองรับ Asynchronous หากต้องการความเร็วสูงในโปรเจกต์อย่าง FastAPI สามารถใช้ Library Motor ซึ่งเป็นเวอร์ชั่น Async ของ PyMongo ได้
✏️ Shoper Gamer
>>
https://shopergamer.vercel.app/
✓
NOSQL คืออะไร 👇
>>
https://www.blockdit.com/posts/67fa2307efe2dd58bc43076e
✓
MongoDB คืออะไร 👇
>>
https://www.blockdit.com/posts/6948cba41542afd92b9b61cc
✓
Python คืออะไร 👇
>>
https://www.blockdit.com/posts/693e536dcd98b1dc26cd7cd4
Credit :
👇
●
https://www.blockdit.com/posts/60683c90bcbced0c3b17173b
●
https://www.blockdit.com/posts/60684e49bcbced0c3b1ac6ef
●
https://www.mongodb.com/docs/languages/python/pymongo-driver/current/
●
https://www.w3schools.com/python/python_mongodb_getstarted.asp
●
https://www.w3schools.com/python/python_mongodb_create_db.asp
เทคโนโลยี
ข่าวรอบโลก
pymongo
บันทึก
1
2
1
2
โฆษณา
ดาวน์โหลดแอปพลิเคชัน
© 2026 Blockdit
เกี่ยวกับ
ช่วยเหลือ
คำถามที่พบบ่อย
นโยบายการโฆษณาและบูสต์โพสต์
นโยบายความเป็นส่วนตัว
แนวทางการใช้แบรนด์ Blockdit
Blockdit เพื่อธุรกิจ
ไทย