Sobes.tech
Junior — Middle

Loyihalaringizda tranzaktsiyalarni ishlatish bo'yicha tajribangiz bormi?

sobes.tech AI

AIdan javob

Ha, Node.js loyihalarida, ayniqsa PostgreSQL yoki MySQL kabi ma'lumotlar bazalari bilan ishlaganda, tranzaksiyalarni qoʻlladim. Tranzaksiyalar bir nechta operatsiyalarni bitta atomik birlikka birlashtirishga imkon beradi, shunda yoki barcha o'zgarishlar qo'llaniladi yoki hech biri, bu esa ma'lumotlarning yaxlitligini saqlash uchun muhimdir.

PostgreSQL uchun pg kutubxonasi bilan tranzaksiya misoli:

const { Client } = require('pg');

async function performTransaction() {
  const client = new Client();
  await client.connect();
  try {
    await client.query('BEGIN');
    await client.query('INSERT INTO users(name) VALUES($1)', ['Alice']);
    await client.query('INSERT INTO accounts(user_id, balance) VALUES($1, $2)', [1, 100]);
    await client.query('COMMIT');
  } catch (e) {
    await client.query('ROLLBACK');
    throw e;
  } finally {
    await client.end();
  }
}

Agar biror operatsiya bajarilmasa, barcha o'zgarishlar bekor qilinadi.