שילוב MongoDB עם Node.js PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

שילוב MongoDB עם Node.js

ליישום רובוסט מיומן יש אמצעי לאחסון נתונים בקצה האחורי שלו כמו אפליקציית 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 לחצן, ולחץ כדי ליצור מסד נתונים:

שילוב MongoDB עם Node.js PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

לאחר מכן, צור אשכול משותף (הוא בחינם לנצח!) ותן לו שם לבחירתך.

האשכול המשותף אידיאלי להתנסות בארגז חול מוגבל. אתה יכול לשדרג לאשכול ייצור בכל עת.

שילוב MongoDB עם Node.js PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

לאחר שיצרת בהצלחה אשכול, לחץ על Connect לחצן להתחבר לאשכול:

שילוב MongoDB עם Node.js PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

כעת מוצגות לך ארבע דרכים שונות כיצד להתחבר עם MongoDB, אך מכיוון שאנו רוצים להתחבר ליישום Node, תן לנו לבחור את Connect your application אפשרות:

שילוב MongoDB עם Node.js PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

לאחר מכן תתבקש לבחור שיטת חיבור. כאן, הקפד לבחור ב-Node.js כמנהל ההתקן שלך, ובחר גרסה מתאימה (אני משתמש ב-4.1 ואילך בזמן כתיבת מאמר זה).

מוצגת לנו גם מחרוזת חיבור שהיא שימושית לחיבור אשכול MongoDB שלנו ליישום Node:

שילוב MongoDB עם Node.js PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

כעת, עלינו ליצור יישום 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 PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

בסדר אנשים, זהו! שילבנו בהצלחה מסד נתונים MongoDB בתוך יישום Node.js.

סיכום

במאמר זה, למדנו כיצד ליצור חיבור מאובטח בין יישום Node.js למסד נתונים של MongoDB. כעת, אתה יכול לעשות את אותו הדבר בקלות כאשר אתה צריך לבנות יישום באמצעות MongoDB; מסד נתונים לא-יחסי פופולרי מאוד במערכת האקולוגית.

אל תשכח כי תיעוד MongoDB הוא החבר הכי טוב שלך ללמידה על MongoDB, וכדי ללמוד עוד על בניית יישומי Express, פנה אל תיעוד אקספרס מדי.

אם אתה נתקע בזמן שאתה עוקב אחר המדריך, אל תהסס לחשוב דרך המדריך ריפו של GitHub עבור הפרויקט למצוא את הדרך שלך.

משאבים נוספים

בול זמן:

עוד מ Stackabuse