MongoDB Version Manager
m - MongoDB Version Manager เป็น Library ตัวนึงช่วยจัดการ Version ของ MongoDB คือสามารถเปลี่ยนเวอร์ชั่นต่าง ๆ ได้ง่ายยิ่งขึ้น (เหมาะกับการใช้สำหรับ dev เท่านั้นเน้อครับ)
การติดตั้ง
Section titled “การติดตั้ง”เราสามารถติดตั้ง m ได้ 3 วิธี (เลือกอย่างใดอย่างหนึ่ง)
การติดตั้งผ่าน npm (สะดวกที่สุด)
Section titled “การติดตั้งผ่าน npm (สะดวกที่สุด)”npm install -g mการติดตั้งโดยการ clone จาก project จาก Github
Section titled “การติดตั้งโดยการ clone จาก project จาก Github”git clone https://github.com/aheckmann/m.git && cd m && make installติดตั้งโดยการใช้ wget ดึงมา
Section titled “ติดตั้งโดยการใช้ wget ดึงมา”wget https://raw.githubusercontent.com/aheckmann/m/master/bin/m && chmod +x ./mเราลองทดสอบว่าติดตั้งเรียบร้อยแล้ว โดยการพิมพ์ m --version หากไม่มีปัญหาจะแสดง version ที่เราลง
การดาวน์โหลด MongoDB Binaries
Section titled “การดาวน์โหลด MongoDB Binaries”เราสามารถติดตั้ง MongoDB Version ต่าง ๆ ได้อย่างง่าย โดยการพิมพ์ version ที่ต้องการติดตั้งไปเลย เช่น
m 4.4.16m 5.0.9หรือสามารถพิมพ์แบบ release series ก็ได้เช่นกัน
m 4.4m 5.0หากต้องการดาวน์โหลด version ล่าสุด
m latestหากต้องการดาวน์โหลด version ที่ stable แล้ว
m stableแก้ปัญหาเมื่อดาวน์โหลด MongoDB Binaries แล้วขึ้น Warning $PATH does not include
Section titled “แก้ปัญหาเมื่อดาวน์โหลด MongoDB Binaries แล้วขึ้น Warning $PATH does not include”ถ้าหากคุณผู้อ่านเจอ ==> WARNING: $PATH does not include /xxx/xxx/.local/bin แบบนี้ไม่ต้องตกใจไปครับ เรามาแก้ปัญหากันดังนี้ครับ ลองพิมพ์ใน Terminal ก่อนว่าเราใช้อะไร
echo $0เช่น ถ้าของเจมส์ใช้ zsh ในการใช้งาน ก็จะขึ้นว่า -zsh แต่ถ้าไม่ได้ติดตั้ง zsh น่าจะขึ้น -bash ครับ
จากนั้นให้แก้ไขไฟล์ด้วยคำสั่ง vi ~/.zshrc สำหรับคนที่ใช้ zsh
หรือแก้ไขไฟล์ด้วยคำสั่ง vi ~/.bashrc สำหรับคนที่ใช้ bash
โดยการเข้าไปเพิ่มคำสั่ง ที่ด้านท้ายของไฟล์ดังนี้
export PATH=$PATH:/path/to/your/directoryเช่นของเจมส์ถูกแจ้ง ==> WARNING: $PATH does not include /Users/kajame/.local/bin ก็จะเพิ่มว่า
export PATH=$PATH:/Users/kajame/.local/binจากนั้นให้บันทึกให้เรียบร้อย จากนั้นใช้คำสั่ง source ~/.bashrc (หรือ source ~/.zshrc สำหรับ Zsh) เพื่อรีโหลดไฟล์กำหนดค่า
แสดงรายการ MongoDB Binaries ที่เราติดตั้ง
Section titled “แสดงรายการ MongoDB Binaries ที่เราติดตั้ง”mซึ่งหาก version ไหนที่ถูกใช้งานอยู่จะมีเครื่องหมายดอกจันทร์ (*) แสดงอยู่ด้านหน้าของ version
ลองใช้งาน
Section titled “ลองใช้งาน”เรียกใช้งาน MongoDB version 4.4.16
Section titled “เรียกใช้งาน MongoDB version 4.4.16”มาลองใช้งานกันครับ เดี๋ยวในตัวอย่างนี้เจมส์จะลองเรียกใช้งาน MongoDB version 4.4.16 เน้อครับ โดยการพิมพ์
m 4.4.16เพื่อบอกว่าเราจะใช้งาน version นี้
ถ้าหากยังไม่เคยติดตั้ง version นี้ จะมีข้อความบอกว่ายังไม่ได้ติดตั้ง หากต้องการดำเนินการต่อให้พิมพ์ y แล้ว enter
จากนั้นให้เราสร้าง Directory ชื่อ data ขึ้นมาก่อนครับ แล้วใช้คำสั่ง
m use 4.4.16 --port 29000 --dbpath ./dataหมายเลข port เราสามารถเปลี่ยนได้เน้อครับ แต่สำหรับบทความนี้ขอใช้ port 29000
เรียกใช้ mongoDB cli เพื่อใช้งาน connection ที่สร้างขึ้น
Section titled “เรียกใช้ mongoDB cli เพื่อใช้งาน connection ที่สร้างขึ้น”ให้เปิด Terminal อีกอันขึ้นมาครับ แล้วลองใช้คำสั่ง
m shell 4.4.16 --port 29000 --norc
--norcเป็นการปิดการโหลดไฟล์ configuration ตอนที่เปิดใช้งาน MongoDB shell
คำสั่งที่ใช้ใน mongoDB cli เบื้องต้น
Section titled “คำสั่งที่ใช้ใน mongoDB cli เบื้องต้น”แสดงรายชื่อ Database
Section titled “แสดงรายชื่อ Database”เมื่ออยู่ใน mongoDB cli แล้ว คำสั่งสำหรับแสดงรายชื่อ Database สามารถใช้คำสั่ง
show dbsswitch ไปยัง database
Section titled “switch ไปยัง database”ในการย้ายไปยัง database อื่นเราสามารถใช้คำสั่ง use [ชื่อ database ที่ต้องการไป] เช่น
use mongodb-thailandการสร้างข้อมูลใส่ใน collection
Section titled “การสร้างข้อมูลใส่ใน collection”เราจะมาลองสร้างข้อมูลใส่ใน collection ชื่อ example กันครับ โดยใส่ข้อมูลให้มี field ชื่อ name ให้มี value เป็น “kajame”
db.example.insertOne({ name: "kajame" })แสดงรายชื่อ collection
Section titled “แสดงรายชื่อ collection”show collectionsแสดงข้อมูลใน collection
Section titled “แสดงข้อมูลใน collection”เราสามารถใช้คำสั่ง db.ชื่อ collection.find({}) เช่น
db.example.find({})ก็จะพบข้อมูลที่เราสร้างไปก่อนหน้านี้ครับ
เพิ่มเติมนิดนึงครับ
Section titled “เพิ่มเติมนิดนึงครับ”เพิ่มเติมให้นิดนึงครับ ตั้งแต่ version 6 ขึ้นไป จากที่ลองเล่นมา เราจะไม่สามารถใช้คำสั่ง m shell [เวอร์ชั่น] --port 29000 --norc แบบนี้ได้ เราต้องไปลง mongosh เพิ่มเติมเอง
จากนั้นให้ใช้ mongosh ในการ connect เข้ามาแทนครับ เช่น ถ้าเราใช้ m use 6.0.2 --port 29000 --dbpath ./data
เราจะต้อง connect โดยใช้คำสั่ง
mongosh "mongodb://localhost:29000"ใน Macbook เราสามารถใช้คำสั่งในการ install mongosh ได้โดยใช้คำสั่ง
brew install mongosh