Junior — Middle
Դուք ունե՞ք տվյալների բազաների կամ համակարգերի գործարքների կառավարում փորձառություն։
sobes.tech AI
Պատասխան AI-ից
Այո, գործարքների կառավարումը կարևոր մաս է տվյալների բազաներով աշխատելու գործում, հատկապես տվյալների ամբողջականությունը ապահովելու համար:
Node.js-ում սովորաբար օգտագործվում են գրադարաններ, ինչպիսիք են Sequelize, TypeORM կամ ուղղակի վարորդներ (օրինակ՝ PostgreSQL-ի համար):
Օրինակ՝ գործարքի կառավարում async/await և Sequelize գրադարանի օգտագործմամբ՝
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;
}
}
Այստեղ՝ բոլոր գործողությունները տրանզակցիայում հաջողությամբ կատարվում են միասին, կամ սխալի դեպքում՝ հետ են բերվում, ինչը կանխում է մասնակի տվյալների թարմացումները։