วิธีเชื่อมต่อฐานข้อมูล NoSQL และ JavaScript

เผยแพร่แล้ว: 2022-11-23

Javascript เป็นภาษาสคริปต์อเนกประสงค์ที่สามารถใช้กับส่วนหลังและส่วนหน้าของเว็บแอปพลิเคชัน ฐานข้อมูล NoSQL เป็นฐานข้อมูล บนเว็บที่จัดเก็บข้อมูลในรูปแบบ JSON ในการเชื่อมต่อเทคโนโลยีทั้งสองนี้ นักพัฒนาสามารถใช้ไลบรารี JSON เช่น Node.js หรือ API เฉพาะของฐานข้อมูล NoSQL

เราสามารถเชื่อมต่อ Javascript กับ Mongodb ได้หรือไม่?

ภาพโดย: imgur

Mongodb เป็นระบบฐานข้อมูลเชิงเอกสารที่มีประสิทธิภาพ มีคุณสมบัติการค้นหาตามดัชนีที่ทำให้การดึงข้อมูลทำได้ง่ายและรวดเร็ว นอกจากนี้ Mongodb ยังนำเสนอคุณสมบัติการปรับขยายที่ช่วยให้สามารถจัดการข้อมูลขนาดใหญ่ได้ ด้วยเหตุนี้ จึงเป็นระบบฐานข้อมูลที่เหมาะสำหรับใช้กับจาวาสคริปต์

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

ฟังก์ชันการนับจะส่งคืนจำนวนเอกสารที่ตรงกันในคอลเล็กชันซึ่งเป็นผลลัพธ์ของเอกสารที่ตรงกัน เคอร์เซอร์สำหรับเคียวรีสร้างโดยฟังก์ชัน find ซึ่งสามารถใช้วนซ้ำผ่านผลลัพธ์ MongoDB ตัวดำเนินการ $gt ช่วยให้คุณได้รับรถยนต์ที่มีราคามากกว่า 30,000 ตัวดำเนินการ $sum จะคำนวณและส่งกลับผลรวมของค่าตัวเลขสำหรับคอลเลกชันในกรณีนี้ ตัวดำเนินการ $group จะจัดกลุ่มเอกสารตามนิพจน์ตัวระบุที่ระบุและนำไปใช้กับแต่ละกลุ่ม การดำเนินการรวมจะใช้ในฟังก์ชันรวมใน คอลเลกชันรถ การใช้ตัวดำเนินการ $match เราสามารถรวมรถที่ต้องการได้

ในบทความนี้ เราจะดูที่ MongoDB และ JavaScript เอกสารหกฉบับที่รวมอยู่ในตัวอย่างนี้ประกอบด้วยหกทวีป InsertMany เป็นวิธีการที่ใช้ในการแทรกอาร์เรย์ของเอกสารลงในคอลเลกชันของทวีป วิธีหนึ่งในการลบเอกสารคือการลบออก การเปลี่ยนแปลงที่ทำด้วย เครื่องมือ mongo จะได้รับการยืนยัน

องค์กรขนาดใหญ่หลายแห่งทั้งภาครัฐและเอกชนใช้ฐานข้อมูลโอเพ่นซอร์ส MongoDB และ CouchDB ความนิยมของ MongoDB เกิดจากความสามารถในการจัดเก็บ ข้อมูล JSON ในขณะที่ความนิยมของ CouchDB นั้นมาจากการใช้งานง่ายและมีความยืดหยุ่น

ทำไม Mongodb ของฉันถึงไม่เชื่อมต่อ?

หากคุณมีปัญหาในการเชื่อมต่อกับฐานข้อมูลของคุณ ให้ลองขั้นตอนนี้: ตรวจสอบว่าคุณใช้ชื่อผู้ใช้และรหัสผ่านของฐานข้อมูลที่ถูกต้อง รวมทั้งคุณเชื่อมต่อกับการปรับใช้ฐานข้อมูลที่ถูกต้อง ตรวจสอบสตริงการเชื่อมต่อเพื่อดูว่ามีการระบุแหล่งการรับรองความถูกต้องที่เหมาะสมหรือไม่


เราสามารถเชื่อมต่อ Javascript กับฐานข้อมูลได้หรือไม่?

ภาพโดย: blogspot

ได้ คุณสามารถเชื่อมต่อ JavaScript กับฐานข้อมูลได้ ซึ่งทำได้โดยใช้ภาษาสคริปต์ฝั่งเซิร์ฟเวอร์ เช่น PHP, Ruby on Rails หรือ ASP.NET เมื่อคุณเชื่อมต่อกับฐานข้อมูลแล้ว คุณสามารถสอบถามและแสดงข้อมูลบนเว็บเพจได้

สามารถใช้ Javascript เพื่อเชื่อมต่อกับฐานข้อมูลได้ แต่จะใช้งานบางอย่างขึ้นอยู่กับตำแหน่งที่คุณใช้ เนื่องจากทำงานบนอุปกรณ์ของผู้ใช้ Javascript ฝั่งไคลเอ็นต์จึงถูกเรียกว่า Javascript ฝั่งไคลเอ็นต์เมื่อทำงานกับเว็บเพจ ในการเชื่อมต่อกับฐานข้อมูล เราดำเนินการเรียก AJAX ตัวกลางไปยังสคริปต์ฝั่งเซิร์ฟเวอร์ Node JS เป็นวิธีที่ดีในการเชื่อมต่อกับฐานข้อมูล คุณต้องเข้าสู่โมดูลฐานข้อมูลและทำการเชื่อมต่อ ในตัวอย่างนี้มีการใช้ MySQL แต่ NodeJS ยังรองรับฐานข้อมูลอื่นๆ เช่น MSSQL และ MongoDB ฐานข้อมูลที่จำกัดก็เพียงพอแล้วหากเว็บไซต์ของคุณต้องการพื้นที่เก็บข้อมูลชั่วคราวเพียงไม่กี่เมกะไบต์

PHP, MySQL และ JavaScript ทั้งหมดใช้เพื่อสร้างเนื้อหาเว็บแบบไดนามิก PHP, MySQL และ CSS และ JavaScript ทั้งหมดทำงานควบคู่กันเพื่อสร้างหน้าเว็บ โดยที่ MySQL ยังจัดการข้อมูลอีกด้วย ลักษณะที่น่าสนใจที่สุดประการหนึ่งของเนื้อหาเว็บแบบไดนามิกคือช่วยให้สามารถใช้ปัญญาประดิษฐ์เพื่ออัปเดตหน้าโดยอัตโนมัติ ขจัดความจำเป็นในการโต้ตอบของมนุษย์

ลองใช้ Node.js และ Mysql เพื่อเข้าถึงฐานข้อมูลถัดไปของคุณ!

เป็นไปได้ที่จะใช้ JavaScript เพื่อเข้าถึงฐานข้อมูล MySQL ผ่านโหนด SQL และ js เป็นสองเครื่องมือที่ใช้ในงานนี้ MySQL เป็นเซิร์ฟเวอร์ฐานข้อมูลที่มีภาษา Json ที่ทำงานบนเซิร์ฟเวอร์และไลบรารี MySQL ที่ทำงานบนเซิร์ฟเวอร์ฐานข้อมูล MySQL สามารถใช้เพื่อสร้างแบบสอบถามที่ส่งคืนอาร์เรย์ของการลงทะเบียน หากคุณต้องการลองใช้ ใช้ตัวสร้างโปรเจ็กต์ของฉันเพื่อสร้างแบ็กเอนด์และใช้ MySQL เป็นฐานข้อมูลเพื่อเชื่อมต่อ

ฐานข้อมูลใดที่จะใช้กับ Js?

ไม่มีคำตอบที่ชัดเจนเมื่อต้องตัดสินใจว่าจะใช้ฐานข้อมูลใดกับ JavaScript อย่างไรก็ตาม ตัวเลือกยอดนิยมบางส่วน ได้แก่ MongoDB, CouchDB และ Redis ฐานข้อมูลทั้งหมดเหล่านี้สามารถทำงานร่วมกับ JavaScript ได้ดี ดังนั้นจึงขึ้นอยู่กับความชอบส่วนตัวและความต้องการเฉพาะของโครงการของคุณ

ในบทความนี้ เราจะพูดถึงห้าวิธีในการโต้ตอบกับฐานข้อมูลของคุณโดยใช้ JavaScript สิ่งที่เป็นนามธรรมแรกที่เราจะพูดถึงคือคำสั่ง SQL ตามด้วยสิ่งที่เป็นนามธรรมในระดับที่สูงขึ้น การค้นหาไลบรารีฐานข้อมูลที่ถูกต้องเป็นสิ่งสำคัญสำหรับความสามารถในการบำรุงรักษา ความสามารถในการปรับขนาด และประสิทธิภาพของโค้ดของคุณ ในบทความนี้ เราจะกล่าวถึงวิธีการใช้ฐานข้อมูล PostgreSQL ไลบรารี JavaScript ของ PostgreSQL จะถูกใช้เพื่อส่งคำสั่งไปยังและจากฐานข้อมูล คำสั่งต่อไปนี้จำเป็นสำหรับการติดตั้งไลบรารี pg: ไฟล์ git add package.json และ package-lock.json รหัสนี้จะดึงไลบรารีและติดตั้งลงในแพ็คเกจ Heroku ของคุณ

ในบทความนี้ เราจะแสดงวิธีการโต้ตอบกับฐานข้อมูลในลักษณะที่เหมือนกับ JavaScript เมื่อเราเรียกใช้ express() เราจะใช้วิธีแสดงรายชื่อผู้ใช้ฐานข้อมูลทั้งหมด SQL คือทั้งหมดที่มีอยู่ แต่คุณไม่มีอะไรจะเรียนรู้มากนักหากคุณไม่ต้องการเรียนรู้มากนักเกี่ยวกับมัน ไลบรารีฐานข้อมูลที่เหลือมีจุดประสงค์ที่แตกต่างจากโค้ดแอปพลิเคชันและอ็อบเจก ต์ JavaScript ที่เหลือของคุณ: ไลบรารีเหล่านี้ทำหน้าที่จัดการกับข้อมูลในฐานข้อมูลของคุณในทำนองเดียวกันมากขึ้น อย่างไรก็ตาม Knex ไม่ได้สรุป SQL อย่างสมบูรณ์ ง่ายกว่ามากสำหรับโปรแกรมเมอร์ JavaScript ในการโยงเงื่อนไข knex โดยใช้องค์ประกอบแทนที่จะเป็นลูกโซ่ นี่คือตัวอย่างของไลบรารีการแมปเชิงสัมพันธ์ของวัตถุ เช่น Knex หรือ Object Relational Mapping

นักพัฒนาซอฟต์แวร์ใช้ไลบรารี ORM เพื่อแปลข้อมูลจาก ฐานข้อมูลเชิงสัมพันธ์ เป็นวัตถุ JavaScript ช่วยให้เราสามารถโต้ตอบกับฐานข้อมูลของเราได้โดยตรงมากกว่า JavaScript เราจะดูห้องสมุดสามแห่งที่สร้างขึ้นบน knex ในอีกไม่กี่สัปดาห์ข้างหน้า ปัญหาทั่วไปที่พบโดยผู้ใช้ไลบรารี ORM คือปัญหา N-(1-select) ผลกระทบด้านประสิทธิภาพต่อตัวอย่างเล็กน้อยนี้จะน้อยมาก แต่ในการใช้งานจริงอาจรุนแรงมาก ปัญหานี้สามารถหลีกเลี่ยงได้โดยใช้ไลบรารี ORM ที่มีฟีเจอร์พร้อมใช้งาน ตราบเท่าที่คุณรู้ว่าอยู่ที่ไหน ไลบรารีการจัดการเชิงวัตถุ Objection ได้รับการออกแบบมาเพื่อให้ง่ายต่อการสร้างรายการข้อมูลที่มีเลขหน้า

Bookshelf ขาดคำจำกัดความที่ละเอียดมากขึ้นเกี่ยวกับวิธีแกะข้อมูลของเราเพื่อให้สามารถสร้างโครงสร้างผู้ใช้/ความคิดเห็นได้ Sequelize มีคุณสมบัติมากมายที่คุณสามารถใช้สร้างตารางได้ และตามค่าเริ่มต้น มันจะสร้างตามโครงสร้างและหลักการตั้งชื่อของมันเอง หน้าของข้อมูลถูกสร้างขึ้นโดยตรงใน API ของไลบรารี ต้องใช้รหัสนี้เพื่อแทนที่คำจำกัดความของคลาสสำหรับผู้ใช้และความคิดเห็นใน index.js เราผ่านวัตถุสองชิ้นเพื่อดำเนินการต่อ ด้วยเหตุนี้ ตารางฐานข้อมูลที่สนับสนุนคลาส User มักจะถูกเรียกว่า 'Users' เมื่อเราส่ง foreignKey จะมี user_id

สถานที่อื่นที่เราควรแจ้งให้ชาวราศีธนูทราบว่าเราไม่ปฏิบัติตามแบบแผนคือในที่สาธารณะ คุณสามารถแยกโครงสร้างตารางออกและใช้ JavaScript เพื่อกำหนด วัตถุ JavaScript สำหรับข้อมูลในแอปพลิเคชันของคุณ หากคุณใช้คุณสมบัติของฐานข้อมูลของคุณบ่อยๆ คุณอาจต้องการ knex หรือ raw SQL ในทางกลับกัน เว็บแอปพลิเคชันส่วนใหญ่พึ่งพาไลบรารี ORM อย่างมากเพื่อทำให้ชีวิตของพวกเขาง่ายขึ้น

ประโยชน์ของการใช้ Js สำหรับการเข้าถึงฐานข้อมูล

ในทางกลับกัน เครื่องมืออื่น ๆ เป็นทางเลือกที่ดีสำหรับการเข้าถึงฐานข้อมูล สามารถทำงานได้อย่างรวดเร็ว สามารถรองรับฐานข้อมูล NoSQL ได้หลากหลาย และมีความน่าเชื่อถือสูง

Nosql จาวาสคริปต์

ฐานข้อมูล NoSQL เป็นฐานข้อมูลขนาดเว็บที่สร้างขึ้นเพื่อจัดการกับข้อมูลจำนวนมหาศาลที่สร้างโดยเว็บแอปพลิเคชันในปัจจุบัน มักใช้แทน ฐานข้อมูลเชิงสัมพันธ์แบบดั้งเดิม เนื่องจากปรับขนาดได้มากกว่าและสามารถรวมเข้ากับเว็บแอปพลิเคชันได้ง่ายกว่า JavaScript เป็นภาษาโปรแกรมที่มักใช้ในการสร้างเว็บแอปพลิเคชัน เหมาะสำหรับการทำงานกับฐานข้อมูล NoSQL เนื่องจากใช้งานง่ายและมีไลบรารีและเครื่องมือมากมาย

Mongodb: ฐานข้อมูล Nosql ชั้นนำ

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

การเชื่อมต่อ Javascript Mongodb

ในการเชื่อมต่อกับฐานข้อมูล MongoDB จาก แอปพลิเคชัน Node.js คุณต้องใช้ไดรเวอร์ MongoDB Node.js ไดรเวอร์ MongoDB Node.js เป็นโมดูล Node.js แบบเนทีฟ และคุณสามารถติดตั้งได้โดยใช้ Node Package Manager (npm) เมื่อคุณติดตั้งไดรเวอร์ MongoDB Node.js แล้ว คุณสามารถใช้ฟังก์ชัน MongoClient.connect() เพื่อเชื่อมต่อกับฐานข้อมูล MongoDB

ในซีรีส์บล็อกนี้ ฉันจะแสดงวิธีใช้ MongoDB กับ Node.js ในเบื้องต้น MongoDB ขอแนะนำ Atlas ซึ่งเป็นบริการฐานข้อมูลที่มีการจัดการเต็มรูปแบบบน MongoDB ในการสุ่มตัวอย่างข้อมูล ให้เปิดใช้ MongoDB Atlas ซึ่งไม่มีค่าใช้จ่ายและสามารถกำหนดค่าเป็นคลัสเตอร์ Atlas ได้ นำทางไปยังคลัสเตอร์ของคุณใน Atlas จากนั้นคลิก เชื่อมต่อ หากต้องการเชื่อมต่อกับคลัสเตอร์ ให้ไปที่ตัวช่วยสร้างการเชื่อมต่อคลัสเตอร์ หากคุณยังไม่ได้ดำเนินการ ให้เพิ่มที่อยู่ IP ปัจจุบันของคุณไปยังรายการการเข้าถึง IP และสร้างผู้ใช้ MongoDB กรอกข้อมูลในช่องว่างเพื่อสร้างอินสแตนซ์ MongoClient ที่เชื่อมต่อกับคลัสเตอร์ เข้าถึงฐานข้อมูล และปิดการเชื่อมต่อ

ในฟังก์ชัน main() เราสร้างฟังก์ชันที่พิมพ์ชื่อฐานข้อมูลในคลัสเตอร์ ขณะที่เราเรียนรู้วิธีเขียนข้อความค้นหาประเภทต่างๆ ในชุดนี้ เราจะสร้างฟังก์ชันใหม่ที่คล้ายกับที่เรากำลังสร้างที่นี่ เราสร้างคำสั่ง try/catch เพื่อให้แน่ใจว่าเราจะไม่เผชิญกับข้อผิดพลาดที่ไม่คาดคิดอันเป็นผลมาจากการโทรของเราที่โต้ตอบกับฐานข้อมูล ส่วนก่อนหน้านี้อ้างถึงฟังก์ชัน listDatabases() รายชื่อฐานข้อมูลในคลัสเตอร์ของเราสามารถเรียกค้นได้โดยใช้ฟังก์ชันนี้ และผลลัพธ์จะแสดงในคอนโซล ขณะนี้คุณสามารถทดสอบรหัสของคุณเพื่อให้แน่ใจว่ารหัสเสร็จสมบูรณ์ ขั้นตอนต่อไปนี้จะช่วยให้คุณสามารถเรียกใช้สคริปต์ของคุณในเทอร์มินัล: ใช้การเชื่อมต่อ Node.js

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

คุณจะดึงข้อมูลใน Mongodb โดยใช้ Javascript ได้อย่างไร

เมธอด findOne() ใช้เพื่อค้นหาข้อมูลจากคอลเล็กชันใน MongoDB เมธอด findOne ส่งคืนการเกิดขึ้นครั้งแรกในการเลือกตามผลลัพธ์ของการเลือกที่พบ พารามิเตอร์ตัวแรกของเมธอด findOne() คืออ็อบเจ็กต์เคียวรี

Api ส่วนที่เหลือของ Mongodb เป็นวิธีที่ยอดเยี่ยมในการจัดเก็บและดึงข้อมูลที่ไม่มีโครงสร้าง

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