Как работают MongoDB транзакции в Node.js?

Senior
226 просмотров
AFK Offer AI

MongoDB поддерживает multi-document транзакции начиная с версии 4.0, но только в replica set или sharded cluster. С Mongoose: const session = await mongoose.startSession(); session.startTransaction(); try { await User.create([data], { session }); await Order.create([data], { session }); await session.commitTransaction(); } catch (err) { await session.abortTransaction(); throw err; } finally { session.endSession() }. Transactions дороже чем в PostgreSQL — используй только когда необходимо. Оптимизируй схему чтобы один документ хранил связанные данные.

Следующий вопрос

Как реализовать exhaustive checks в TypeScript?