MongoDB from Beginner part 1

Phai Panda
2 min readJul 16, 2019

--

งานที่แบงก์ว่าจะใช้กันครับ เอามาเก็บ ​Log จึงถึงเวลาที่จะต้องมาเปิดตำราเรียนรู้ด้วยตนเองอีกหนึ่งวิชา ในฐานะโปรแกรมเมอร์โปเกม่อนนี่จึงเสมือนอีกหนึ่งมอนสเตอร์ที่จะต้องจับตัวให้ได้

กริ๊ด! สาวน้อยร้องเสียงหลงในความมืดยามได้ยินเสียงเพรียก เงานั้นขยายใหญ่ขึ้นจนน่าสะพรึง มันจ้องมาที่เหยื่อในขณะที่เธอคิดจะวิ่งหนี

“ใยจึงหวาดข้า~” เงานั้นหยุดนิ่ง ดวงตาของมันบัดนี้แลดูเศร้านัก “รักข้า เจ้าจำข้าไม่ได้หรือ”

ไม่ว่าจะเริ่มต้นด้วยเครื่อง Windows หรือเครื่อง Mac จง Google ไปว่า
mongodb community install

ด้วยความสามารถของเพื่อนๆในขณะนี้ผมขอฟันเลยว่าติดตั้งได้ด้วยตนเองแบบว่าง่ายจิมๆ

ผมนั้นใช้เครื่อง Mac (แน่นอนเพราะซื้อมาแพง ไม่ใช้ก็กระไรอยู่ว่าไหม อะไรนะ? อยากรู้เท่าไรเหรอ? ตอนนั้นก็ 100,900 บาทเห็นจะได้ จัดสุดตามตัวโชว์ในร้านเลยฮะ แหมตัวลอย อะ! ก็ตอนนั้นมีตังค์) จึงใช้ brew ติดตั้งให้ เป็นอันว่าพวกเราพร้อมโชว์ของกันแล้วนะ KO! งัดมันออกมาเลย!

ที่เราเริ่มต้นด้วยตัว community ก็เพราะว่ามันฟรี เหตุผลเท่านี้แหละ

อย่างแรกที่เราต้องทำหลังจากติดตั้งคือปลุกมันให้ตื่นก่อน (run mongo server) ใครติดตั้งด้วยวิธีการไหน เครื่อง Windows หรือ Mac ก็จัดกันไปตามท่วงท่า ในเมื่อผมเป็นเครื่อง Mac และใช้ brew ในการติดตั้งดังนั้น

งัดมันขึ้นมา

mongod --config /usr/local/etc/mongod.conf

ตามตำราท่านี้เรียกว่า run แบบ foreground กล่าวคือเห็นอยู่ว่ามันทำงานอยู่ตราบใดที่ไม่กดยกเลิก control + c หรือ Ctrl + c นะครับ

ส่วนอีกท่าเรียกว่า run แบบ service หรือ background ภาษาพูดคือ behind the scenes อันนี้เราจะไม่เห็นว่าเขาทำงานอยู่ แต่มันหลบในมุมมืดนั่น

ถ้าอยากรู้ว่ารันแบบ service เป็นไง ก็งัดมันขึ้นมาเลยสิ!

brew services start mongodb-community@4.0

ไม่นานเจ้า brew ก็แจ้งมาว่า

==> Successfully started `mongodb-community` (label: homebrew.mxcl.mongodb-community)

เคร แล้วถ้าอยากรู้ว่ามีกี่ service กันที่ brew ดูแลอยู่ ก็ว่า

brew services list

ไม่นานเจ้า brew ก็ตอบมาว่า (อันนี้เฉพาะเครื่องผมนะ)

mongodb-community started pros /Users/pros/Library/LaunchAgents/homebrew.mxcl.mongodb-community.plist

เห็นชื่อ service นั่นไหม ถ้าอยากหยุดมันก็ไม่ยาก จัดไปว่า

brew services stop mongodb-community

ผลคือ

==> Successfully stopped `mongodb-community` (label: homebrew.mxcl.mongodb-community)

อันนี้แถม แล้วถ้าอยาก restart service ล่ะ

brew services restart mongodb-community

ตอนนี้เพื่อนๆก็สามารถสั่งเจ้า mongodb ให้ตื่นให้หลับได้ดั่งใจปรารถนา ข้อสำคัญคือ port ที่เจ้านี่ใช้ โดย default คือ 27017 ฉะนั้นถ้าอยากจะเปลี่ยน port ก็ว่า (ผมขอรันแบบ foreground นะ)

mongod --config /usr/local/etc/mongod.conf --port 27018

เอาล่ะ ตอนนี้ถือว่าเราสั่ง mongodb ทำงานแล้ว เครื่องมืออย่างแรกของมันที่ผมอยากพาเพื่อนๆไปรู้จักคือ mongo shell ครับ

เพื่อจะเริ่มต้น mongo shell ให้เปิดอีก Terminal แล้วเรียกมันสิ

mongo

Oop! มันบอกว่าต่อติดกับ mongodb ที่ port 27017 ไม่ได้ขอรับ

Error connecting to 127.0.0.1:27017

เกิดอาการประเสริฐจิม ก็ผมเพิ่มเปลี่ยนไปใช้ port 27018 แหมตกใจหมดเลยนะจ๊ะ เอาใหม่ ไหนๆก็เปลี่ยน port ก็ว่าไปตามน้ำ

mongo --port 27018

ได้แล้ว มาเลยอร่อยกัน!

MongoDB shell version v4.0.8connecting to: mongodb://127.0.0.1:27018/?gssapiServiceName=mongodb

ทดสอบง่ายๆ โดยการถามกับ shell ของ mongodb ว่ามีฐานข้อมูลอยู่กี่ลูกกันนะเธอ

show dbs

ผลลัพธ์

admin         0.000GBconfig        0.000GBlocal         0.000GB

ประเสริฐจิมๆ เป็นว่าเราสามารถพูดคุยกับ mongodb ผ่าน mongo shell เป็นผลสำเร็จนะครับ ค่อยเป็นค่อยไปใครจะว่าช้าปล่อยเขาอ่านและทำไปก่อน อิอิ

ปรบมือสิ แหม รอไรล่ะ จะได้เขียน part ต่อไปไง ปรบมือๆ

--

--

No responses yet