Junior — Middle
Van tapasztalata adatbázisok vagy rendszerek tranzakcióinak kezelésében?
sobes.tech MI
Válasz az MI-től
Igen, a tranzakciók kezelése fontos része az adatbázisokkal való munkának, különösen az adatok integritásának biztosítása érdekében.
Node.js-ben általában könyvtárakat használnak az adatbázisokkal való munkához, például Sequelize, TypeORM vagy közvetlenül driverek (például PostgreSQL esetén).
Példa tranzakciókezelésre async/await és a Sequelize könyvtár használatával:
const { sequelize } = require('./models');
async function performTransaction() {
const t = await sequelize.transaction();
try {
await User.create({ name: 'John' }, { transaction: t });
await Order.create({ userId: 1, total: 100 }, { transaction: t });
await t.commit();
} catch (error) {
await t.rollback();
throw error;
}
}
Ebben az esetben minden művelet sikeresen végrehajtódik együtt, vagy hiba esetén visszavonásra kerül, ez megakadályozva a részleges adatfrissítéseket.