MongoDB from Beginner part 1
งานที่แบงก์ว่าจะใช้กันครับ เอามาเก็บ 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 ต่อไปไง ปรบมือๆ