MongoDB 4.x版本的事务
在MongoDB Shell中执行以下命令来打开一个新的事务:
session = db.getMongo().startSession()
session.startTransaction()
接下来,您可以在事务中执行读取和写入操作,例如:
try {
db.users.insertOne({ name: "Alice", age: 25 }, { session: session });
db.users.updateOne({ name: "Bob" }, { $inc: { age: 1 } }, { session: session });
session.commitTransaction();
} catch (error) {
session.abortTransaction();
}
在上面的示例中,我们首先使用startTransaction()方法启动一个新的事务,并将其保存在名为session的变量中。然后,我们执行一些写操作,如插入和更新,同时将session作为选项传递给操作。最后,我们使用commitTransaction()方法提交事务,或者在遇到错误时使用abortTransaction()方法回滚事务。
请注意,在MongoDB 4.0及更高版本中,事务只能在副本集或分片集群中使用。此外,要启用事务支持,您需要在连接MongoDB时使用支持事务的URI选项(如mongodb://localhost:27017/mydb?replicaSet=myReplSet)。
https://docs.mongoing.com/transactions-1 中文文档官网MongoDB事务