การใช้งาน Python เพื่อติดต่อกับ MongoDB [Part2]

Weeraphat Doenmueang
Next-Hop Co., Ltd.
Published in
2 min readAug 8, 2019

สวัสดีครับเรามาต่อในส่วนของ Python กันใน Part 2 นี้นะครับหากใครยังไม่ได้ติดตาม Part 1 ในส่วนของการตั้งค่า MongoDB ให้กลับไปอ่านได้ที่ การใช้งาน Python เพื่อติดต่อกับ MongoDB [Part1] นะครับ

ขั้นตอนที่ 1 เข้าสู่เว็บไซต์ Python เพื่อดาวน์โหลดและติดตั้ง Python https://www.python.org/ นะครับ

ขั้นตอนที่ 2 เมื่อติดตั้ง Python เสร็จแล้ว สิ่งสำคัญในการใช้งาน Python กับ MongoDB คือ Pymongo สามารถติดตั้ง Pymongo ได้โดย Windows Command interpreter หรือที่เรียกกันว่า cmd นะครับ

พิมพ์คำสั่ง pip install pymongo จากนั้นตามด้วยคำสั่ง pip install dnspython

ติดตั้ง pymongo เสร็จเรียบร้อย
ติดตั้ง dnspython เสร็จเรียบร้อย

ขั้นตอนที่ 3 ทำการเขียน Code Python โดย import pymongo สำหรับเรียกใช้ library pymongo จากนั้นเริ่มต้นจากการ insert ข้อมูลเข้าสู่ฐานข้อมูล

Code สำหรับการเชื่อมต่อ Python กับ MongoDB

ทำการ Copy ค่า Full Driver Example มาใส่และแก้ไข <Password> เป็นรหัสผ่านของ Username ที่เราสร้างขึ้นมา ในส่วนของ /test? และ db=client.test คือตัวที่บอกว่าเราจะเก็บข้อมูล Collection ไว้ใน Database ชื่อว่าอะไร ในที่นี้ให้เก็บใน Database ที่มีชื่อว่า test และ Collection ที่ชื่อว่า testcollection ใน Collection จะประกอบด้วย Document ที่มีข้อมูลอยู่ 3 ข้อมูล

ขั้นตอนที่ 4 ทำการ Run Module จะพบว่าค่าที่ได้ถูกเก็บขึ้นสู่ Database test -> Collection testcollection

ค่าที่พิมพ์คำสั่งไว้ใน Python ถูกส่งไปเก็บใน MongoDB

ขั้นตอนที่ 5 ถ้าเราอยากจะดึงค่าออกมาหล่ะต้องทำอย่างไร ?

ใช้คำสั่ง col.find()

จะเห็นได้ว่า col.find() หรือ col.insert_one() เป็นคำสั่งสำหรับ Query MongoDB สามารถประยุกต์ใช้ได้ตามความต้องการ

แสดงค่าทั้งหมดที่มีใน database ในที่นี้ผมได้ทำการ insert ข้อมูลอีกชุดเพื่อให้เห็นภาพง่ายขึ้นนะครับ

ขั้นตอนที่ 6 หากเราต้องการจะค้นหา data1 ที่มีค่าเท่ากับ 2 เราก็สามารถพิมพ์ได้ว่า col.find({“data1” : “2”}) ก็จะแสดงเฉพาะค่า data1 ที่มีค่าเท่ากับ 2

ใช้คำสั่ง col.find({“data1” : “2”})

ก็จะได้ผลลัพท์เฉพาะ Document ที่มีค่า data1 = 2

ขอบคุณสำหรับการติดตามครับส่วนใครที่สนใจในเรื่องอื่นๆสามารถติดตามได้ที่นี่ครับ https://medium.com/nexthopthai

--

--