找不到 mongodb 4.0 对 Node.js 事务支持的文档
它已经在 mongo 驱动程序中可用了吗 http://mongodb.github.io/node-mongodb-native/3.1/api/
最佳答案
正如评论中提到的,您可以在 node-mongodb-native v3.1 API ClientSession 上找到交易引用。 。这是因为事务与 session 相关联。也就是说,您为一个 session 启动一个事务。在任何给定时间,一个 session 最多可以有一个未完成的事务。
MongoDB multi-document Transactions 的文档还包含示例 Node.js
代码片段。例如:
session.startTransaction({
readConcern: { level: 'snapshot' },
writeConcern: { w: 'majority' }
});
const employeesCollection = client.db('hr').collection('employees');
const eventsCollection = client.db('reporting').collection('events');
await employeesCollection.updateOne(
{ employee: 3 },
{ $set: { status: 'Inactive' } },
{ session }
);
await eventsCollection.insertOne(
{
employee: 3,
status: { new: 'Inactive', old: 'Active' }
},
{ session }
);
try {
await commitWithRetry(session);
} catch (error) {
await session.abortTransaction();
throw error;
}
上述方法的引用可以在以下位置找到:
除了 MongoDB Node.js 驱动程序 v3.1 之外,请注意,多文档事务仅适用于 MongoDB v4.0.x 上的副本集。分片集群的事务从 v4.2 版本开始可用。
关于mongodb 4.0 对 Node.js 的事务支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51587451/