تتفاعل معظم تطبيقات العالم الحقيقي مع قواعد البيانات بطريقة أو بأخرى. تسهل قواعد البيانات استمرار البيانات وتحليلها والتفاعل معها.
تقدم معظم لغات البرمجة دعمًا لربط التطبيقات بقواعد البيانات مثل PostgreSQL. تعرف على كيفية استخدام الوحدة النمطية node-postgres لتوصيل تطبيق Node بـ PostgreSQL.
كيف تبدأ
للبدء بالاتصال بقاعدة بيانات محلية ، يجب أن يكون لديك امتداد تم تثبيت خادم PostgreSQL.
PostgresSQL هو أحد أكثر أنظمة قواعد البيانات العلائقية شيوعًا بسبب مرونتها وقوتها. قد تفكر في استخدامه كبديل لـ MySQL إذا كان مشروعك معقدًا أو كنت تبحث عن حل يحتضن روح المصدر المفتوح.
قم بإنشاء تطبيق عقدة
تتمثل الخطوة الأولى في إنشاء تطبيق Node الذي ستستخدمه لاختبار رمز الاتصال. في المجلد المفضل لديك ، قم بإنشاء مجلد جديد.
مكدير postgres- عقدة
انتقل إلى المجلد الذي قمت بإنشائه وقم بتهيئة npm.
قرص مضغوط عقدة postgres
npm الحرف الأول
يجب أن يولد هذا الأمر ملف package.json ملف.
بعد ذلك ، قم بإنشاء ملف جديد وقم بتسميته index.js. ستقوم بتوصيل Node بـ PostgreSQL في هذا الملف.
استخدم وحدة node-postgres
ال عقدة postgres الوحدة النمطية هي حزمة npm تسمح لك بالاتصال بقاعدة بيانات PostgreSQL والتفاعل معها. هناك خياران يمكنك استخدامهما لتوصيل Node بـ PostgreSQL باستخدام الوحدة النمطية node-postgres: عميل واحد أو مجموعة اتصال. إذن ماذا يجب أن تستخدم؟
استخدم عميلًا واحدًا إذا كنت تحتاج فقط إلى اتصال ثابت واحد في كل مرة. ومع ذلك ، إذا كنت بحاجة إلى استخدام طلبات متزامنة ومتعددة ، فاستخدم تجمع اتصال.
تثبيت node-postgres
قم بتشغيل الأمر التالي في الجهاز الخاص بك لتثبيت node-postgres.
npm تثبيت ص
إذا كنت تستخدم العقدة> = 14.x ، فستحتاج إلى تثبيت [email protected] o لاحقًا. يمكنك تحديد رقم الإصدار عن طريق إلحاقه بأمر التثبيت مثل هذا.
npm تثبيت ص =8.7.3
الاتصال بـ PostgreSQL
تتطلب الوحدة النمطية node-postgres القيم التالية للاتصال بقاعدة بيانات PostgreSQL.
- PGUSER - اسم مستخدم PostgreSQL للاتصال به.
- PGHOST - اسم مضيف الخادم المراد الاتصال به.
- PGPASSWORD - كلمة مرور خادم PostgreSQL.
- PGDATABASE - اسم قاعدة البيانات التي تتصل بها.
- PGPORT - رقم المنفذ الذي سيتم الاتصال به في مضيف الخادم.
قم بإنشاء ملف .env وأضف هذه المتغيرات ، واستبدل القيم المقابلة من قاعدة البيانات الخاصة بك:
PGUSER =<PGUSER>
PGHOST =<شبح>
PGPASSWORD =<كلمة السر>
PGDATABASE =<PGDATABASE>
PGPORT =<PGPORT>
قم بتثبيت حزمة dotenv للوصول إلى ملف .env.
npm تثبيت دوتنف
في index.js، استيراد وتكوين dotenv.
مقدار ثابت dotenv = يتطلب("dotenv")
دوتنف.config()
اتصل بقاعدة بيانات PostgreSQL باستخدام عميل واحد
يوضح الكود أدناه كيف يمكنك توصيل Node بخادم PostgreSQL باستخدام عميل واحد.
مقدار ثابت {العميل} = يتطلب("ص")
مقدار ثابت dotenv = يتطلب("dotenv")
دوتنف.config()مقدار ثابت connectDb = غير متزامن () => {
محاولة {
مقدار ثابت العميل = الجديد عميل({
المستعمل: معالجة.env.PGUSER,
مضيف: معالجة.env.PGHOST,
قاعدة البيانات: معالجة.env.PGDATABASE,
كلمه السر: معالجة.env.PGPASSWORD,
ميناء: معالجة.env.PGPORT
})انتظر client.connect ()
const res = انتظار client.query ('تحديد * من some_table ')
وحدة التحكم.log (الدقة)
انتظر client.end ()
} قبض على (خطأ) {
وحدة التحكم.log (خطأ)
}
}
connectDb ()
استخدام تجمع الاتصال
كما ذكرنا سابقًا ، يسمح لك تجمع الاتصال بإجراء طلبات اتصال متعددة بالخادم الخاص بك.
مقدار ثابت {تجمع} = يتطلب("ص") ؛
مقدار ثابت dotenv = يتطلب("dotenv") ؛
دوتنف.config();مقدار ثابت connectDb = غير متزامن () => {
محاولة {
مقدار ثابت تجمع = الجديد حمام سباحة({
المستعمل: معالجة.env.PGUSER,
مضيف: معالجة.env.PGHOST,
قاعدة البيانات: معالجة.env.PGDATABASE,
كلمه السر: معالجة.env.PGPASSWORD,
ميناء: معالجة.env.PGPORT,
});انتظر pool.connect ()
الدقة الثابتة = انتظار pool.query ('تحديد * من العملاء)
وحدة التحكم.log (الدقة)
انتظر pool.end ()
} قبض على (خطأ) {
وحدة التحكم.log (خطأ)
}
}
connectDb ()
تتيح لك الأمثلة أعلاه التحكم في تكوين قاعدة البيانات عبر ملف env. ومع ذلك ، يمكنك أيضًا توفير قيم التكوين هذه باستخدام متغيرات البيئة القياسية. يتيح لك هذا الأسلوب تغيير التكوين بسهولة في وقت بدء التشغيل.
ضع في اعتبارك رمز الاتصال التالي.
مقدار ثابت connectDb = غير متزامن () => {
محاولة {
مقدار ثابت تجمع = الجديد حمام سباحة()؛
الدقة الثابتة = انتظار pool.query ('تحديد * من العملاء)
وحدة التحكم.log (الدقة)
انتظر pool.end ()
} قبض على (خطأ) {
وحدة التحكم.log (خطأ)
}
}
في هذا البرنامج ، لا تقوم بتمرير كائن الاتصال كوسيطة عند تهيئة Pool. بدلاً من ذلك ، يجب عليك تحديد تفاصيل الاتصال عند استدعاء البرنامج مثل هذا:
PGUSER =<PGUSER> \
PGHOST =<شبح> \
PGPASSWORD =<كلمة السر> \
PGDATABASE =<PGDATABASE> \
PGPORT =<PGPORT> \
العقدةفهرس.js
يتيح لك ربط Node بـ PostgreSQL مثل هذا كتابة برنامج أكثر قابلية لإعادة الاستخدام.
القيام بالمزيد مع PostgreSQL
لإنشاء تطبيق يتفاعل مع قواعد البيانات ، عليك توصيله بقاعدة البيانات أولاً. في هذه المقالة ، تعلمت كيفية توصيل Node بقاعدة بيانات PostgreSQL باستخدام الوحدة النمطية node-Postgres.
بصرف النظر عن PostgreSQL ، هناك أنظمة أخرى لإدارة قواعد البيانات مثل MySQL يمكنك استخدامها في تطبيقك. يجب أن تكون أداة قاعدة البيانات التي تختارها هي الأكثر توافقًا مع احتياجات البيانات الخاصة بك.