找不到 mongodb 4.0 事务对 Node.js 支持的文档
它已经在 mongo 驱动程序中可用了吗http://mongodb.github.io/node-mongodb-native/3.1/api/ http://mongodb.github.io/node-mongodb-native/3.1/api/
正如评论中提到的,您可以在以下位置找到交易参考:node-mongodb-native v3.1 API ClientSession http://mongodb.github.io/node-mongodb-native/3.1/api/ClientSession.html#startTransaction。这是因为事务与会话相关联。也就是说,您为一个会话启动一个事务。在任何给定时间,一个会话最多可以有一个未完成的事务。
的文档MongoDB 多文档事务 https://docs.mongodb.com/manual/core/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;
}
上述方法的参考可以在以下位置找到:
- ClientSession.startTransaction() http://mongodb.github.io/node-mongodb-native/3.1/api/ClientSession.html#startTransaction
- ClientSession.commitTransaction() http://mongodb.github.io/node-mongodb-native/3.1/api/ClientSession.html#commitTransaction
- ClientSession.abortTransaction() http://mongodb.github.io/node-mongodb-native/3.1/api/ClientSession.html#abortTransaction
请注意,除了 MongoDB Node.js 驱动程序 v3.1 之外,还可以使用多文档事务副本集仅适用于 MongoDB v4.0.x。分片集群的事务从 v4.2 版本开始可用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)