ליישום רובוסט מיומן יש אמצעי לאחסון נתונים בקצה האחורי שלו כמו אפליקציית Node שמסוגלת לעבוד גם עם לא-רלציונלי (כגון PostgresQL, MongoDB) וגם עם יחסי (כגון MySQL, Oracle).
MongoDB הוא מסד נתונים לא יחסי, קל יחסית לשימוש וחזק, ואם אתה מפתח Node.js שרוצה ללמוד את היתרונות שהוא מביא ואיך להתחיל ביצירת אינטגרציה מאובטחת עם אפליקציית ה-Node שלך, זה הוא המדריך בשבילך!
במאמר זה נלמד כיצד לשלב/להתחבר ל- MongoDB; מסד נתונים פופולרי מאוד לא יחסי עם Node.js וראה כיצד נוכל להשתמש בו בתוך יישומי Node.
הערה: כדי לעקוב, תצטרך להתקין את Node.js. אתה יכול להוריד את הגרסה היציבה הארוכה ביותר (LTS) ולהתקין על המחשב המקומי שלך ממנה דף הורדה רשמי.
מידע קצר על MongoDB
MongoDB הוא מסד הנתונים הפופולרי והמתקדם ביותר מבוסס מסמכים, שבו כל הנתונים מאוחסנים ב-JSON בינארי (JavaScript Object Notation) המכונה BSON. BSON הוא א מסמך, ללא צורך בסכימת נתונים מוגדרת מראש. הוא מאפשר לאחסן נתונים שאליהם אפליקציה ניגשת לעתים קרובות באותו מקום והופך את קריאת מסד הנתונים לקלה ומהירה.
בניגוד לטבלאות יחסים, האוספים הם עצמאיים, זה עושה אותם הרבה יותר קל לעבוד איתם. כאשר מסמך חדש נוצר באוסף MongoDB, מוקצה לו מזהה כדי להפוך אותו לייחודי לאותו אוסף, ובתוך המסמך, ניתן להגדיר מספר שדות; כאשר הערך יכול להיות וריאנט של סוגי נתונים החל ממערכים, מחרוזות, מספרים שלמים, אובייקטים וכן הלאה.
על מנת לתמרן נתונים, ה-API של השאילתה שימושי לביצוע פעולות יצירה, קריאה, עדכון ומחיקה (CRUD) הבסיסיות במסד הנתונים. ניתן גם ליצור אינדקסים משניים כדי להבטיח אופטימיזציה ולהפוך שאילתות נפוצות למהירות במיוחד. כמו כן נתמכות שאילתות גיאוגרפיות המאפשרות למצוא מסמכים במיקום גיאוגרפי ספציפי.
תחילת העבודה עם MongoDB
לפני שנתחיל בחיבור ל-MongoDB מאפליקציית Node, עבור לאתר הרשמי של MongoDB כדי להירשם ל- Try Free
לחצן (אם עדיין אין לך חשבון):
לאחר יצירת החשבון שלך, עבור אל לחיצה על Build a Database
לחצן, ולחץ כדי ליצור מסד נתונים:
לאחר מכן, צור אשכול משותף (הוא בחינם לנצח!) ותן לו שם לבחירתך.
האשכול המשותף אידיאלי להתנסות בארגז חול מוגבל. אתה יכול לשדרג לאשכול ייצור בכל עת.
לאחר שיצרת בהצלחה אשכול, לחץ על Connect
לחצן להתחבר לאשכול:
כעת מוצגות לך ארבע דרכים שונות כיצד להתחבר עם MongoDB, אך מכיוון שאנו רוצים להתחבר ליישום Node, תן לנו לבחור את Connect your application
אפשרות:
לאחר מכן תתבקש לבחור שיטת חיבור. כאן, הקפד לבחור ב-Node.js כמנהל ההתקן שלך, ובחר גרסה מתאימה (אני משתמש ב-4.1 ואילך בזמן כתיבת מאמר זה).
מוצגת לנו גם מחרוזת חיבור שהיא שימושית לחיבור אשכול MongoDB שלנו ליישום Node:
כעת, עלינו ליצור יישום Node.js כדי להתחבר למסד הנתונים של MongoDB.
בניית אפליקציית הצומת
בספרייה המועדפת עליך עבור פרויקט זה, צור תיקיה חדשה:
$ mkdir integrating-mongodb-node
לאחר מכן, רוץ npm init
בטרמינל, על מנת לאתחל יישום Node עם a package.json
קובץ המאפשר לנו לעקוב אחר תלות באפליקציה:
$ npm init
package name: (codes) integrating-mongodb-node
version: (1.0.0)
description: learning how to connect mongodb to a node app
entry point: (server.js)
test command:
git repository:
keywords:
author:
Is this OK? (yes) yes
עיין במדריך המעשי והמעשי שלנו ללימוד Git, עם שיטות עבודה מומלצות, סטנדרטים מקובלים בתעשייה ודף רמאות כלול. תפסיק לגוגל פקודות Git ולמעשה ללמוד זה!
כעת לאחר שאתחול בהצלחה package.json
, הבה נמשיך להתקין שתי חבילות שיעזרו בבניית השרת שלנו. הראשון הוא Express.js, שהיא מסגרת אינטרנט לפיתוח מהיר וקל של יישומי Node:
$ yarn add express -D
החבילות השניות שהיינו מתקינים היא חבילת Mongoose, שתעזור לנו לבנות סכמה מתאימה עבור מסד הנתונים שלנו באפליקציית Node:
$ yarn add mongoose -D
כשתלות הפיתוח הנדרשות מותקנות כעת בהצלחה, אנו יכולים כעת לכתוב קוד כדי לחבר את מסד הנתונים MongoDB שלנו ליישום ה-Node שלנו.
בספרייה שיצרנו זה עתה עבור הפרויקט, צור א server.js
פילה
$ touch server.js
לאחר מכן, אנו מגדירים את ההגדרה הבסיסית עבור יישום ה-Node ב server.js
, על ידי יצירת שרת אקספרס פשוט.
const express = require("express");
const mongoose = require("mongoose");
const app = express();
const port = 8000;
app.listen(port, () => {
console.log(`Server started at port ${port}`);
});
אנו יכולים לאשר שהשרת שלנו פועל כפי שהוא צריך, על ידי הפעלת הקוד הבא בטרמינל.
$ node server.js
מה שאמור להביא ל:
Server started at port 8000
כעת, אתה יכול לחזור ללוח המחוונים MongoDB שלך כדי להעתיק את ה-URI (מזהה משאבים אחיד) כדי לחבר את אפליקציית ה-Node למסד הנתונים.
I server.js
ליצור משתנה לאחסון מזהה המשאב האחיד, וב-URI להחליף עם הסיסמה של חשבון MongoDB שלך.
const express = require("express");
const mongoose = require("mongoose");
const app = express();
const uri =
"mongodb+srv://UcheAzubuko:@stackabusecluster.fgavg5s.mongodb.net/?retryWrites=true&w=majority";
const port = 8000;
app.listen(port, () => {
console.log(`Server started at port ${port}`);
});
לאחר מכן, אנו יוצרים פונקציה א-סיכרונית כדי לאפשר לנו להתחבר ל-MongoDB, מכיוון שאיננו יודעים כמה זמן עשוי לקחת עד להשלמת הפונקציה לפני שנתחבר למסד הנתונים:
const express = require("express");
const mongoose = require("mongoose");
const app = express();
const uri =
"mongodb+srv://UcheAzubuko:@stackabusecluster.fgavg5s.mongodb.net/?retryWrites=true&w=majority";
async function connect() {
try {
await mongoose.connect(uri);
console.log("Connected to MongoDB");
} catch (error) {
console.log(error);
}
}
connect();
const port = 8000;
app.listen(port, () => {
console.log(`Server started at port ${port}`);
});
יצרנו פונקציה אסינכרונית שמתעדת את א Connected to MongoDB
הודעת הודעה כאשר נוצר בהצלחה חיבור בין MongoDB לאפליקציית Node, ותיעוד שגיאות אם מתרחשת שגיאה.
כעת, עלינו להפעיל מחדש את השרת:
$ node server.js
וקבל הודעה מוצלחת המודיעה לנו שעכשיו נוצר חיבור מאובטח בין מסד הנתונים MongoDB לאפליקציית Node:
Server started at port 8000
Connected to MongoDB
בשלב זה, כשאתה חוזר ללוח המחוונים שלך עבור אשכול הפרויקט שלך, כעת תראה מידע שמראה שהיה חיבור למסד הנתונים לאחרונה:
בסדר אנשים, זהו! שילבנו בהצלחה מסד נתונים MongoDB בתוך יישום Node.js.
סיכום
במאמר זה, למדנו כיצד ליצור חיבור מאובטח בין יישום Node.js למסד נתונים של MongoDB. כעת, אתה יכול לעשות את אותו הדבר בקלות כאשר אתה צריך לבנות יישום באמצעות MongoDB; מסד נתונים לא-יחסי פופולרי מאוד במערכת האקולוגית.
אל תשכח כי תיעוד MongoDB הוא החבר הכי טוב שלך ללמידה על MongoDB, וכדי ללמוד עוד על בניית יישומי Express, פנה אל תיעוד אקספרס מדי.
אם אתה נתקע בזמן שאתה עוקב אחר המדריך, אל תהסס לחשוב דרך המדריך ריפו של GitHub עבור הפרויקט למצוא את הדרך שלך.