เมื่อเราเรียนรู้ พื้นฐานของ mongo กันไปแล้วของ part แรก part นี้จะเป็นการใช้ go เชื่อมต่อกับ mongpdb กันค่า

แต่ !! ถ้าใครยังไม่รู้ว่า mongo คืออะไร อยากปูพื้นฐาน ก่อนสามารถไปอ่านของ part#1 ตามลิ้งค์นี้ได้เลยค่า

เมื่อเรียนรู้พื้นฐาน ของ mongodb มาแล้วมาลองต่อกับ go กันเถอะะ

เราจะใช้ MongoDB Go Driver ในการต่อ mongodb กันค่า

เริ่มแรก เตรียม เครื่องมือให้พร้อมมมม

  • Go เวอชั่น1.10 ขึ้นไป หรือใช้เวอชั่นล่าสุด!!
  • MongoDB 2.6 ขึ้นไป

ขั้นแรก เราทำการ create project go ขึ้นมา ทำการ setting project เริ่มต้นให้เรียบร้อย

สร้าง โปรเจคเสร็จแล้ววว มา ติดตั้ง MongoDB Go Driver กัน

go get go.mongodb.org/mongo-driver/mongo

การใช้งาน mongodb go driver

ด้านบน จะเป็นตัวอย่างการต่อกับ mongodb ของ go โดยต่อไปยัง localhost port 27017

PS. สังเกตว่าเมื่อเราใช้ lib momgodb go driver แล้ว เราจะสามารเรียกใช้คำสั่ง mongo ได้เลย lib จะถูก package mongo จะถูกเรียกใช้งานอัตโนมัติ

Note ค่าาา ข้อควรระวังเรื่อง connection ในการเชื่อมต่อ โดยการใส่ defer เพื่อทำการ disconnect เมื่อไม่ได้ใช้หรือใช้เสร็จแล้ว

defer func() {
if err = client.Disconnect(ctx); err != nil {
panic(err)
}
}()

โอเค เรามาเริ่ม เชื่อมต่อ collection เพื่อทำการ insert ค่ากันเถอะ

  • คำสั่ง insertOne, insertMany

Result :

id: ObjectID(“60794553e1c714e4691ebd48”)

เย้ ตอนนี้เราก็สามารถ insert data mongodb ผ่าน go เรียบร้อย

มาลอง query ดูบ้าง โดยใช้คำสั่ง collection.FindOne

  • คำสั่ง query

เมื่อทำการรันโปรแกรม จะได้ ผลลัพธ์ ดังนี้

result: {Mr.mongo 15}

ด้านบนเป็นการ ใช้คำสั่ง query หนึ่งบรรทัด ถ้ากรณีเรามีหลายผลลัพธ์ล่ะ

มาลองกันนนน โดยใช้คำสั่ง collection.Find

ผลลัพธ์

result: [{_id ObjectID(“60793487731de252bd80ccb5”)} {name Mr.mongo} {age 15}]
result: [{_id ObjectID(“60793498e6ae7440000f76a7”)} {name Mr.mongo} {age 15}]

ดังผลลัพธ์ด้านบน สังเกตว่า เราเอา ผลลัพธ์ที่ได้มาทำการวน โดยใช้ Next เพื่อทำการ โชว์ข้อมูลแต่ละแถว

มีคำสั่งอีกหลายแบบบ ให้ลองเล่น

  • คำสั่ง delete, deleteMany
  • คำสั่ง updateOne, UpdateMany, updateByID

จากด้านบนจะเป็นการสั่งให้ update age=1 where name = “Mr.golang”

สามารถลองเล่นอีกหลายๆ คำสั่งที่น่าสนใจได้ จากที่นี้

จบไปแล้วนะคะ กับการลองเล่น golang เพื่อเชื่อมต่อ mongodb ยังมี หลายคำสั่งที่น่าสนใจให้ลองไปเล่นนน ค่า

--

--