MongoDB Version Manager
m - MongoDB Version Manager เป็น Library ตัวนึงช่วยจัดการ Version ของ MongoDB คือสามารถเปลี่ยนเวอร์ชั่นต่าง ๆ ได้ง่ายยิ่งขึ้น (เหมาะกับการใช้สำหรับ dev เท่านั้นเน้อครับ)
การติดตั้ง
เราสามารถติดตั้ง m
ได้ 3 วิธี (เลือกอย่างใดอย่างหนึ่ง)
การติดตั้งผ่าน npm (สะดวกที่สุด)
npm install -g m
การติดตั้งโดยการ clone จาก project จาก Github
git clone https://github.com/aheckmann/m.git && cd m && make install
ติดตั้งโดยการใช้ wget ดึงมา
wget https://raw.githubusercontent.com/aheckmann/m/master/bin/m && chmod +x ./m
เราลองทดสอบว่าติดตั้งเรียบร้อยแล้ว โดยการพิมพ์ m --version
หากไม่มีปัญหาจะแสดง version ที่เราลง
การดาวน์โหลด MongoDB Binaries
เราสามารถติดตั้ง MongoDB Version ต่าง ๆ ได้อย่างง่าย โดยการพิมพ์ version ที่ต้องการติดตั้งไปเลย เช่น
m 4.4.16
m 5.0.9
หรือสามารถพิมพ์แบบ release series ก็ได้เช่นกัน
m 4.4
m 5.0
หากต้องการดาวน์โหลด version ล่าสุด
m latest
หากต้องการดาวน์โหลด version ที่ stable แล้ว
m stable
แก้ปัญหาเมื่อดาวน์โหลด 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 ที่เราติดตั้ง
m
ซึ่งหาก version ไหนที่ถูกใช้งานอยู่จะมีเครื่องหมายดอกจันทร์ (*) แสดงอยู่ด้านหน้าของ version
ลองใช้งาน
เรียกใช้งาน 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 ที่สร้างขึ้น
ให้เปิด Terminal อีกอันขึ้นมาครับ แล้วลองใช้คำสั่ง
m shell 4.4.16 --port 29000 --norc
--norc
เป็นการปิดการโหลดไฟล์ configuration ตอนที่เปิดใช้งาน MongoDB shell
คำสั่งที่ใช้ใน mongoDB cli เบื้องต้น
แสดงรายชื่อ Database
เมื่ออยู่ใน mongoDB cli แล้ว คำสั่งสำหรับแสดงรายชื่อ Database สามารถใช้คำสั่ง
show dbs
switch ไปยัง database
ในการย้ายไปยัง database อื่นเราสามารถใช้คำสั่ง use [ชื่อ database ที่ต้องการไป]
เช่น
use mongodb-thailand
การสร้างข้อมูลใส่ใน collection
เราจะมาลองสร้างข้อมูลใส่ใน collection ชื่อ example กันครับ โดยใส่ข้อมูลให้มี field ชื่อ name ให้มี value เป็น “kajame”
db.example.insertOne({ name: "kajame" })
แสดงรายชื่อ collection
show collections
แสดงข้อมูลใน collection
เราสามารถใช้คำสั่ง db.ชื่อ collection.find({})
เช่น
db.example.find({})
ก็จะพบข้อมูลที่เราสร้างไปก่อนหน้านี้ครับ
เพิ่มเติมนิดนึงครับ
เพิ่มเติมให้นิดนึงครับ ตั้งแต่ 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