วิธีรวมไดรเวอร์ MongoDB Node.js

Withi Rwm Dirwexr Mongodb Node Js



MongoDB มีแพ็คเกจอย่างเป็นทางการที่เรียกว่า MongoDB Node.js Driver ซึ่งช่วยให้สามารถบูรณาการระหว่างโปรแกรม Node.js และฐานข้อมูลได้ ด้วยแอปพลิเคชันนี้ เราสามารถเชื่อมต่อ สืบค้น อัปเดต และลบเอกสาร รวมถึงการดำเนินการอื่นๆ ของฐานข้อมูลได้ หากต้องการใช้ไดรเวอร์ MongoDB Node.js เราจำเป็นต้องติดตั้งแพ็คเกจ mongodb จาก npm ซึ่งเป็น Node Package Manager ในบทความนี้ เราได้จัดเตรียมแต่ละขั้นตอนเพื่อรับ mongodb จากเวลา npm ด้านล่างนี้

ตั้งค่าไดรเวอร์ MongoDB โดยใช้โมดูล npm

หากต้องการรับไดรเวอร์ MongoDB node.js ก่อนอื่นเราต้องได้รับโมดูล npm สำหรับ Node.js บนระบบของเรา ซึ่งควรได้รับการอัปเดต เราได้ติดตั้ง npm ด้วยเวอร์ชันล่าสุดทั่วโลกบนระบบ คำสั่งสำหรับการติดตั้งโมดูล npm มีดังต่อไปนี้:

ติดตั้ง npm -g npm@9.8.1

เห็นได้ชัดว่ามีการเพิ่มโมดูล npm ลงในคอมพิวเตอร์แล้ว









ตอนนี้ เราต้องรวม MongoDB เข้ากับไดรเวอร์ Node.js ดังนั้นคำสั่งต่อไปนี้ช่วยเราในการรับไดรเวอร์ Mongodb โดยใช้คำสั่ง npm การขึ้นต่อกันจะถูกบันทึกโดย npm ในไฟล์ชื่อ “package.json” พร้อมด้วยตัวเลือก -save อย่างไรก็ตาม เราสามารถติดตั้งไดรเวอร์ MongoDB และเพิ่มลงในการขึ้นต่อกันของโปรเจ็กต์โดยไม่ต้องใช้ตัวเลือก –save เพื่อให้ได้ผลลัพธ์เดียวกัน



npm ติดตั้ง mongodb --save

ตอนนี้ติดตั้งไดรเวอร์ MongoDB สำเร็จแล้ว ดังที่เห็นในภาพต่อไปนี้





ขั้นตอนต่อไปคือการสร้างไดเร็กทอรีเฉพาะที่สามารถใส่โปรแกรม MongoDB ได้ หากต้องการทำสิ่งนี้ ให้สร้างไดเร็กทอรี “NewFolder” โดยใช้คำสั่ง mkdir คำสั่งสำหรับสร้างไดเร็กทอรีมีดังนี้:



mkdir โฟลเดอร์ใหม่

ตอนนี้เราได้ระบุเส้นทางตามที่แสดงด้านล่างเพื่อเข้าสู่ไดเร็กทอรีเฉพาะนั้น

ซีดี C:\Users\Hp\MyNodejs\NewFolder

ตอนนี้เราอยู่ในไดเร็กทอรี “NewFolder” ที่สร้างขึ้นในขั้นตอนก่อนหน้า ก้าวไปสู่กระบวนการถัดไป เราจะแจ้งคำสั่ง “npm init -y” เพื่อเริ่มต้นโปรเจ็กต์ Node.js ใหม่อย่างรวดเร็วโดยการสร้างไฟล์ package.json ด้วยค่าเริ่มต้นโดยไม่ต้องให้ผู้ใช้ป้อนข้อมูลใดๆ

ไฟล์ package.json พื้นฐานที่มีค่าเริ่มต้นได้ถูกสร้างขึ้นเป็นเอาต์พุตคำสั่งด้านล่าง

ตัวอย่าง # 1: การสร้างการเชื่อมต่อกับเซิร์ฟเวอร์ MongoDB โดยการรวม Node.js

ขั้นตอนเริ่มต้นทั้งหมดในการรับไดรเวอร์ MongoDB ภายใน Node.js เสร็จสมบูรณ์แล้วในส่วนด้านบน ตอนนี้เราสามารถสร้างการเชื่อมต่อกับเซิร์ฟเวอร์ MongoDB ได้อย่างง่ายดาย สำหรับสิ่งนี้ เราได้สร้างไฟล์ภายในไดเร็กทอรี “NewFolder” ด้วยชื่อ “MongoDB.js” สคริปต์สำหรับสร้างการเชื่อมต่อมีดังต่อไปนี้

const { MongoClient } = จำเป็นต้อง ( 'มอนก็อด' );
const url= 'mongodb:// 127.0.0.1:27017 ' ;
ลูกค้า const = MongoClient ใหม่ (url);
const db_name = 'ฐานข้อมูลใหม่' ;
ฟังก์ชั่น async main() {
รอ client.connect();
console.log( 'เชื่อมต่อกับเซิร์ฟเวอร์ MongoDB สำเร็จแล้ว' );
const db = client.db(db_name);
คอลเลกชัน const = db.collection( 'ผู้ใช้' );
กลับ 'เสร็จแล้ว.' ;
}

หลัก()
.แล้ว(console.log)
.catch (คอนโซลข้อผิดพลาด)
.finally(() => ลูกค้า.ปิด());

เราได้เพิ่มคลาส “MongoClient” จากแพ็คเกจ MongoDB เพื่อสร้างการเชื่อมต่อเซิร์ฟเวอร์ MongoDB จากนั้น เราระบุตัวแปร “url” และ “db_name” โดยที่ URL เซิร์ฟเวอร์ MongoDB ถูกกำหนดไว้ ซึ่งในกรณีนี้คือ localhost และระบุชื่อของฐานข้อมูล MongoDB “NewDatabase”

หลังจากนั้นเราตั้งค่าฟังก์ชัน async และเรียกมันว่า main() ภายในฟังก์ชัน main() นั้น เราได้ใช้ฟังก์ชันเชื่อมต่อ() เพื่อสร้างการเชื่อมต่อ และเมื่อการเชื่อมต่อสำเร็จแล้ว log() จะพิมพ์ข้อความ

หลังจากตั้งค่าการเชื่อมต่อแล้ว เราจะเข้าถึงคอลเลกชัน “ผู้ใช้” ที่นี่เราสามารถดำเนินการฐานข้อมูลต่างๆ ภายในฟังก์ชันหลักได้ ถัดไป ฟังก์ชันหลักถูกเรียกโดยใช้ main().then(console.log).catch(console.error) เพื่อจัดการกับกรณีความสำเร็จและข้อผิดพลาด ในที่สุด เราก็ปิดการเชื่อมต่อ MongoDB โดยใช้ client.close() ในบล็อก .finally()

ผลลัพธ์แสดงว่าการเชื่อมต่อกับเซิร์ฟเวอร์ MongoDB ถูกสร้างขึ้นสำเร็จแล้วในขณะที่เราเรียกใช้งานไฟล์ด้วยคำสั่ง node

ตัวอย่าง # 2: แทรกเอกสารลงในคอลเลกชัน MongoDB โดยใช้ Node.js

เราได้เชื่อมต่อกับเซิร์ฟเวอร์ MongoDB ในส่วนก่อนหน้าแล้ว เมื่อสร้างการเชื่อมต่อแล้ว เราสามารถแทรกเอกสารลงในคอลเลกชันที่ระบุไว้ในโปรแกรมด้านบนได้ การดำเนินการแทรกเอกสารลงในคอลเลกชัน “ผู้ใช้” จะถูกเพิ่มลงในไฟล์เดียวกัน “MongoDB.js”

const { MongoClient } = จำเป็นต้อง ( 'มอนก็อด' );
const url= 'mongodb:// 127.0.0.1:27017 ' ;
ลูกค้า const = MongoClient ใหม่ (url);
const db_name = 'ฐานข้อมูลใหม่' ;
ฟังก์ชั่น async main() {
รอ client.connect();
console.log( 'เชื่อมต่อกับเซิร์ฟเวอร์ MongoDB สำเร็จแล้ว' );
const db = client.db(db_name);
คอลเลกชัน const = db.collection( 'ผู้ใช้' );

const insertDocs =
รอ collection.insertMany ([{ ชื่อ: 'อเล็กซ์' , อีเมล: ' alex@example.com ' },
{ ชื่อ: 'แอนดี้' , อีเมล: ' andy@example.com ' },
{ ชื่อ: 'ตัวเขาเอง' , อีเมล: ' sam@example.com ' }]);
console.log( 'แทรกเอกสารในคอลเลกชัน =>' , ใส่เอกสาร);
กลับ 'เสร็จแล้ว.' ;
}

หลัก()
.แล้ว(console.log)
.catch (คอนโซลข้อผิดพลาด)
.finally(() => ลูกค้า.ปิด());

ที่นี่สคริปต์ทั้งหมดเหมือนกับข้างบน เราเพิ่งแทรกการดำเนินการแทรกในฟังก์ชัน async main() เราสร้างตัวแปร “insertDocs” จากนั้นเรียกใช้ฟังก์ชัน insertMany() โดยใช้คำสั่ง await สำหรับฟังก์ชัน insertMany() เราได้ระบุเอกสารสามชุดที่มีช่อง 'ชื่อ' และ 'อีเมล' โดยแต่ละช่องมีค่าต่างกัน ใบแจ้งยอดจะถูกสร้างขึ้นเมื่อมีการแทรกเอกสารทั้งหมดอย่างถูกต้อง

ผลลัพธ์ที่แสดงเอกสารถูกแทรกลงในคอลเลกชันสำเร็จด้วยรหัสที่ไม่ซ้ำกันสามรหัส

ตัวอย่าง # 3: อัปเดตเอกสารเป็นคอลเลกชันโดยใช้ Node.js

ในทำนองเดียวกัน เรายังสามารถใช้การดำเนินการอัปเดตของ MongoDB ใน Node.js ได้ด้วยการติดตามไฟล์เดียวกัน “MongoDB.js” การดำเนินการจะถูกเพิ่มลงในไฟล์สำหรับการดำเนินการอัพเดต พิจารณาโปรแกรมสำหรับการดำเนินการนี้

const { MongoClient } = จำเป็นต้อง ( 'มอนก็อด' );
const url= 'mongodb:// 127.0.0.1:27017 ' ;
ลูกค้า const = MongoClient ใหม่ (url);
const db_name = 'ฐานข้อมูลใหม่' ;
ฟังก์ชั่น async main() {
รอ client.connect();
console.log( 'เชื่อมต่อกับเซิร์ฟเวอร์ MongoDB สำเร็จแล้ว' );
const db = client.db(db_name);
คอลเลกชัน const = db.collection( 'ผู้ใช้' );

const updateDoc = รอ collection.updateOne ({ ชื่อ: 'แอนดี้' },
{ $set: { อีเมล: ' andy12@example.com ' } });
console.log( 'เอกสารที่อัปเดตในคอลเลกชัน =>' , อัพเดตDoc);
กลับ 'เสร็จแล้ว.' ;
}

หลัก()
.แล้ว(console.log)
.catch (คอนโซลข้อผิดพลาด)
.finally(() => ลูกค้า.ปิด());

ที่นี่เราได้เรียกตัวแปรว่า 'updateDocs' ซึ่งการดำเนินการอัปเดตถูกกำหนดด้วยตัวดำเนินการ $set คำจำกัดความของเมธอด updateOne() ระบุว่าต้องมีการอัปเดตเอกสารเพียงฉบับเดียว ในเมธอด updateOne() ของ MongoDB เราได้ระบุฟิลด์ชื่อพร้อมค่าเป็นคำสั่งแรก จากนั้นเราได้กำหนดตัวดำเนินการ $set ให้กับคำสั่งที่สอง โดยที่ฟิลด์ 'อีเมล' จะถูกมอบให้เพื่ออัปเดตอีเมลใหม่ตามนั้น .

ผลลัพธ์จะแสดงในตำแหน่งที่เอกสารที่จะอัปเดตถูกจับคู่และแก้ไขโดยใช้ Node.js

ตัวอย่าง # 4: ลบเอกสารออกจากคอลเลกชัน MongoDB โดยใช้ Node.js

ต่อไป เราใช้การดำเนินการลบ MongoDB โดยใช้ Node.js การดำเนินการนี้มีอยู่ในไฟล์ที่คล้ายกัน “MongoDB.js”

const { MongoClient } = จำเป็นต้อง ( 'มอนก็อด' );
const url= 'mongodb:// 127.0.0.1:27017 ' ;
ลูกค้า const = MongoClient ใหม่ (url);
const db_name = 'ฐานข้อมูลใหม่' ;
ฟังก์ชั่น async main() {
รอ client.connect();
console.log( 'เชื่อมต่อกับเซิร์ฟเวอร์ MongoDB สำเร็จแล้ว' );
const db = client.db(db_name);
คอลเลกชัน const = db.collection( 'ผู้ใช้' );

const DeleteDoc = รอ collection.deleteOne ({ ชื่อ: 'แอนดี้' });
console.log( 'เอกสารถูกลบ=>' , ลบเอกสาร);
กลับ 'เสร็จแล้ว.' ;
}

หลัก()
.แล้ว(console.log)
.catch (คอนโซลข้อผิดพลาด)
.finally(() => ลูกค้า.ปิด());

ที่นี่ เราได้กำหนดตัวแปรใหม่ “deleteDoc” โดยที่เอกสารถูกลบออกจากคอลเลกชัน “ผู้ใช้” เดียวกัน เมธอด DeleteOne() มีอยู่ในตัวแปร “deleteDoc” เพื่อลบเฉพาะเอกสารที่ระบุ ซึ่งเป็นเอกสารที่มีฟิลด์ “ชื่อ” เก็บไว้พร้อมกับค่า “Andy” เมื่อเอกสารถูกลบออกจากคอลเลกชัน ไฟล์ Node.js จะสร้างข้อความการลบด้วย

ตามที่คาดไว้ เอกสารจะถูกลบออกจากคอลเลกชัน MongoDB “ผู้ใช้” ได้สำเร็จ

บทสรุป

เราสาธิตวิธีสร้างการเชื่อมต่อกับฐานข้อมูล MongoDB และเข้าถึงคอลเลกชันโดยใช้ไดรเวอร์ MongoDB Node.js หลังจากเชื่อมต่อกับ MongoDB สำเร็จแล้ว เราได้รวมโค้ดการดำเนินการเพิ่มเติมไว้ในฟังก์ชันหลักเพื่อดำเนินการ MongoDB