دمج 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 هي قاعدة البيانات المستندة إلى المستندات الأكثر شيوعًا والأكثر تقدمًا، حيث يتم تخزين جميع البيانات في Binary JSON (JavaScript Object Notation) المعروف باسم BSON. BSON هو وثيقة، دون الحاجة إلى مخطط بيانات محدد مسبقًا. فهو يسمح بتخزين البيانات التي يتم الوصول إليها معًا بشكل متكرر بواسطة التطبيق في نفس المكان ويجعل قراءة قاعدة البيانات سهلة وسريعة.

على عكس الجداول العلائقية، تكون المجموعات مستقلة بذاتها، مما يجعلها أكثر سهولة في التعامل معها. عندما يتم إنشاء مستند جديد في مجموعة MongoDB، يتم تعيين معرف له لجعله فريدًا لتلك المجموعة، وداخل المستند، يمكن تحديد حقول متعددة؛ حيث يمكن أن تكون القيمة متغيرًا لأنواع البيانات بدءًا من المصفوفات والسلاسل والأعداد الصحيحة والكائنات وما إلى ذلك.

من أجل معالجة البيانات، تكون واجهة برمجة تطبيقات الاستعلام مفيدة في تنفيذ عمليات الإنشاء والقراءة والتحديث والحذف الأساسية (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 باستخدام ملف 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 ، مع أفضل الممارسات ، والمعايير المقبولة في الصناعة ، وورقة الغش المضمنة. توقف عن أوامر Googling 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، تواصل مع التوثيق السريع أيضا.

إذا واجهتك مشكلة أثناء متابعة البرنامج التعليمي، فلا تتردد في التفكير من خلال جيثب ريبو للمشروع لتجد طريقك.

مصادر إضافية

الطابع الزمني:

اكثر من ستاكابوز