MongoDB 是支持事务的,但要看版本和使用场景。
update / insert / delete 本身就具备事务特性。从 MongoDB 4.0 开始:
示例(MongoDB 4.0+):
const session = db.getMongo().startSession();
session.startTransaction();
try {
db.orders.insertOne({ item: "A", qty: 1 }, { session });
db.inventory.updateOne({ item: "A" }, { $inc: { qty: -1 } }, { session });
session.commitTransaction();
} catch (e) {
session.abortTransaction();
}
MongoDB 官方建议:
✅ MongoDB 支持事务
✅ 4.0+ 支持多文档 ACID 事务
✅ 适合副本集 / 分片集群
⚠️ 不推荐滥用事务
如果你愿意,我可以根据你的业务场景判断是否该用 MongoDB 事务。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。