MongoDB+NodeJs For Window [Part 1]

มา Insert Update Delete MongoDB โดยใช้ NodeJS กันดีกว่า

Rachata Tongpagdee
3 min readFeb 7, 2018

แนะนำกันก่อนว่า MongoDB คืออะไร

MongoDB เป็น open-source document database โดยเป็นฐานข้อมูลแบบ NoSQL คือไม่มี relation (ความสัมพันธ์) ของตารางแบบ SQL ทั่วๆไป แต่จะเก็บข้อมูลเป็นแบบ JSON (JavaScript Object Notation) แทน การบันทึกข้อมูลทุกๆ record ใน MongoDB เราจะเรียกมันว่า Document ซึ่งจะเก็บค่าเป็น key และ value จะเห็นว่ามันก็คือ JSON นั่นแหละ

{ 
“_id”: ObjectId(“554b8ee746e04bc5503aef47”),
“name”: “Chai”
}

และการเก็บข้อมูล document ใน MongoDB จะถูกเก็บไว้ใน Collections (เปรียบเทียบได้กับ Table ใน Relational Database ทั่วๆไป) แต่แตกต่างกันที่ collection ไม่จำเป็นที่จะต้องมี schema เหมือนกันก็สามารถบันทึกข้อมูลได้

ไม่รอช้ามาติดตั้งกันดีกว่า

1.โหลดไฟล์ติดตั้งมาเลย

ไปที่ Link นี้เลย https://www.mongodb.com/download-center?jmp=nav#enterprise

2.ติดตั้งโปรแกรมให้เรียบร้อย

ขั้นตอนนี้ก็ไม่มีอะไรมา Next มาเรื่อยๆเลย แล้วก็ดูด้วยนะครับว่าติดตั้งไว้ที่ไหนจะได้ใช้ในขั้นตอนต่อไปได้ถูก

3.เปิด cmd ขึ้นมาแล้วย้าย directory ไปที่ bin ของ MongoDB ที่เราติดตั้งโดยของผมจะเป็นแบบนี้

$ cd C:\Program Files\MongoDB\Server\3.6\bin

4.พอแล้ว cd เข้าไปแล้วลองพิมพ์ mongod ดูมันจะขึ้นมาแบบนี้

$ mongod

จะเห็นว่ามันยัง run ไม่ได้เพราะว่ามันยังไม่มี directory นี้ C:\data\db\

5.ไปสร้าง folder C:\data\db\ กัน

เปิด cmd อีกตัวขึ้นมาแล้ว cd ไปที่ไดร์ฟ c แล้วก็สร้าง folder กันเลย

$ cd C:\
$ mkdir data\db\

แล้วไปที่ cmd ตัวแรกที่เปิดไว้แล้ว mongod ดูอีกรอบจะขึ้นแบบนี้

ตอนนี้เราเปิด service ของ mongoDB ได้แล้ว***อย่าปิดหน้านี้ล่ะ

6.สร้าง DataBase กันดีกว่า

เปิด cmd มาอีกตัวนึงแล้ว cd ไปที่ bin เหมือนเดิมแล้วใช้คำสั่ง mongo เพื่อเปิด mongo shell ขึ้นมา

$ cd C:\Program Files\MongoDB\Server\3.6\bin
$ mongo

มันจะขึ้นหน้าตาแบบนี้

7.มารู้จัก Mongo Shell เบื้องต้นกันก่อน

หากไม่รู้ว่ามีคำสั่งอะไรบ้างที่สามารถใช้ได้ใน Mongo Shell ให้พิมพ์

$ help

รายชื่อฐานข้อมูลทั้งหมด

$ show dbs

เลือกฐานข้อมูลที่ต้องการจากรายชื่อ

$ use <db_name>

ดูว่าฐานข้อมูลนี้มี collection อะไรบ้าง

$ show collections

อยากรู้คำสั่งเพิ่มเติมสามารถดูได้จากเว็บนี้เลยเขียนดีมาก devahoy.com

8.หลังจากรู้จัก Mongo shell แล้วมาสร้าง DB กันเลย

$ use Todo

ใช้ DBS ที่ชื่อว่า Todo (สามารถใช้ชื่ออะไรก็ได้แต่อันนี้ใช้ Todo นะครับ)

$ db.createUser(
{
user: 'superAdmin',
pwd: 'superPassword',
roles: [ { role: 'userAdmin', db: 'Todo' } ]
}
)

คำสั่งนี้จะเป็นการสร้าง User ขึ้นมาโดยที่

  • user คือ user นั่นและ
  • pwd คือ password
  • role สิทธ์ของ user มันจะมีประมาณ 9 สิทธ์ลองเข้าไปอ่านได้ -> คลิ๊กที่นี่ โดยตอนนี้จะกำหนดเป็น userAdmin
  • db คือ ชื่อของ Database ของเรา

ผลลัพธ์

9. มาตรวจสอบกันว่า MongoDB ของเราสร้างได้หรือไม่โดยใช้ Robo 3T เข้าไปโหลดแล้วติดตั้งกันเลย

10. ทำการ connect กัน Database ของเรา

กดไปที่ create

Address กับ port สามารถดูได้ที่ cmd ที่เรา run mongod ทิ้งไว้ได้เลย ปกติจะเป็น localhost:21017

ไปที่ Authentication แล้วใส่ค่าตามที่เราตั้งไว้ให้ถูกด้วยนะแล้วก็กด Test ดูจะได้แบบนี้

แสดงว่าเรา Connect กับ Database ได้แล้ว

Part 2 จะเป็นการConnect MongoDB โดยใช้ NodeJS -->> MongoDB+NodeJs For Window [Part 2]

--

--