从MongoDB v4.0开始已经支持事务了,可以用下面代码写事务操作:

const session = db.getMongo().startSession();
session.startTransaction();
try {
    // 你的数据库操作
    session.commitTransaction();
} catch (error) {
    console.error("Transaction failed: ", error);
    session.abortTransaction();
} finally {
    session.endSession();
}

但是如果MongoDB没有配置副本集,就会报下面这个错误:
Transaction numbers are only allowed on a replica set member or mongos

需要修改mongod.conf文件,加入下面配置:
replication:
replSetName: "rs0"

如果服务还在运行,先关闭服务。
首先,可以使用 ps 命令找到 MongoDB 进程的 PID:

ps aux | grep mongod

找到 MongoDB 进程后,使用 kill 命令停止它:

kill [PID]

然后,重新通过 mongod 命令启动 MongoDB

mongod --config /usr/local/etc/mongod.conf

连接到 MongoDB shell 并初始化副本集:

mongo
rs.initiate()