العمل مع قواعد البيانات في JavaScript: PostgreSQL و MongoDB للمبتدئين

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

مقدمة في العمل مع قواعد البيانات في JavaScript (Node.js)

\n

نادرًا ما تخلو تطوير الويب الحديث من التفاعل مع قواعد البيانات. سواء كان تخزين المستخدمين، أو منشورات المدونة، أو بيانات التحليلات - فإن القدرة على العمل مع قواعد البيانات (قواعد البيانات) هي مهارة أساسية لكل مطور. في هذه المقالة، سننظر في أكثر نوعين من قواعد البيانات شيوعًا: قاعدة البيانات العلائقية PostgreSQL وقاعدة البيانات الموجهة للمستندات MongoDB. سنكتب أمثلة بسيطة بلغة JavaScript (Node.js) ستساعدك على البدء في العمل مع كلا النظامين.

\n\n

1. إعداد البيئة وتثبيت التبعيات

\n

قبل كتابة الكود، يجب تثبيت برامج التشغيل للتفاعل بين Node.js وقواعد البيانات المختارة. للقيام بذلك، قم بإنشاء مشروع جديد وقم بتثبيت الحزم عبر npm.

\n\n

تثبيت برامج التشغيل

\n
    \n
  • pg - عميل شائع لـ PostgreSQL.
  • \n
  • mongoose - ODM (Object Document Mapper) لـ MongoDB، يبسط العمل مع المجموعات.
  • \n
\n
mkdir db-example && cd db-example\nnpm init -y\nnpm install pg mongoose
\n\n

الآن بيئتك جاهزة للتجارب.

\n\n

2. العمل مع PostgreSQL من Node.js

\n

PostgreSQL هي قاعدة بيانات علائقية قوية تستخدم SQL للاستعلامات. سنتصل بخادم محلي، وننشئ جدولًا، وننفذ عمليات CRUD الأساسية (إنشاء، قراءة، تحديث، حذف).

\n\n

الاتصال بقاعدة البيانات

\n

قم بإنشاء ملف postgres.js وأضف الكود التالي للاتصال:

\n
const { Pool } = require('pg');\n\nconst pool = new Pool({\n    user: 'your_username',\n    host: 'localhost',\n    database: 'testdb',\n    password: 'your_password',\n    port: 5432,\n});\n\nasync function connect() {\n    try {\n        const client = await pool.connect();\n        console.log('تم الاتصال بـ PostgreSQL');\n        client.release();\n    } catch (err) {\n        console.error('خطأ في الاتصال:', err);\n    }\n}\n\nconnect();
\n\n

إنشاء جدول وإدراج البيانات

\n

الآن سنضيف دالة لإنشاء جدول users وإدراج السجلات:

\n
async function createTable() {\n    const query = `\n        CREATE TABLE IF NOT EXISTS users (\n            id SERIAL PRIMARY KEY,\n            name VARCHAR(100) NOT NULL,\n            email VARCHAR(100) UNIQUE NOT NULL\n        );\n    `;\n    await pool.query(query);\n    console.log('تم إنشاء جدول users');\n}\n\nasync function insertUser(name, email) {\n    const query = 'INSERT INTO users (name, email) VALUES ($1, $2) RETURNING *';\n    const values = [name, email];\n    const res = await pool.query(query, values);\n    console.log('تمت إضافة مستخدم:', res.rows[0]);\n}\n\n// مثال على الاستخدام\ncreateTable().then(() => insertUser('إيفان', 'ivan@example.com'));
\n\n

قراءة وتحديث البيانات

\n

سنحصل على جميع المستخدمين ونحدث البريد الإلكتروني:

\n
async function getUsers() {\n    const res = await pool.query('SELECT * FROM users');\n    console.log('جميع المستخدمين:', res.rows);\n}\n\nasync function updateUserEmail(id, newEmail) {\n    const query = 'UPDATE users SET email = $1 WHERE id = $2 RETURNING *';\n    const res = await pool.query(query, [newEmail, id]);\n    console.log('تم تحديث المستخدم:', res.rows[0]);\n}\n\ngetUsers().then(() => updateUserEmail(1, 'ivan_new@example.com'));
\n\n

PostgreSQL مثالية للمشاريع التي تكون فيها سلامة البيانات والعلاقات المعقدة بين الجداول مهمة.

\n\n

3. العمل مع MongoDB من Node.js

\n

MongoDB هي قاعدة بيانات NoSQL تخزن البيانات بتنسيق مشابه لـ JSON (BSON). إنها مرنة ولا تتطلب مخططًا صارمًا. للعمل، سنستخدم Mongoose.

\n\n

الاتصال بـ MongoDB

\n

قم بإنشاء ملف mongo.js:

\n
const mongoose = require('mongoose');\n\nconst connectDB = async                

المدونات

توصيات الكتب