在 MongoDB 中,事务可以用于在一个或多个集合上执行多个操作。事务可以帮助确保数据的一致性和可靠性。
在本示例中,我们将创建一个名为 employees
的集合,其中包含每个员工的姓名和工资信息。
db.createCollection("employees");
接下来,我们将向 employees
集合中插入一些测试数据。在本示例中,我们将插入三个员工的记录。
db.employees.insertMany([
{ name: "Alice", salary: 50000 },
{ name: "Bob", salary: 60000 },
{ name: "Charlie", salary: 70000 }
]);
要开始一个事务,可以使用 startSession()
方法创建一个会话,并使用 withTransaction()
方法包装事务代码。
const session = db.getMongo().startSession();
session.withTransaction(async () => {
// 事务代码
});
在事务代码块中,我们可以执行多个操作,并将其视为一个原子操作。在本示例中,我们将演示如何更新一个员工的薪水信息。
session.withTransaction(async () => {
const employee = db.employees.findOne({ name: "Alice" });
employee.salary = 55000;
db.employees.save(employee);
});
当事务操作执行成功时,可以使用 session.commitTransaction()
方法提交事务。
session.commitTransaction();
如果事务执行失败,可以使用 session.abortTransaction()
方法回滚事务。
session.abortTransaction();
当事务执行完毕后,需要关闭会话以释放资源。
session.endSession();
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。