首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoDB4.0事务对node.js的支持

MongoDB4.0事务对node.js的支持
EN

Stack Overflow用户
提问于 2018-07-30 05:26:13
回答 1查看 1.4K关注 0票数 2

找不到MongoDB4.0的文档支持node.js

它是否已经在mongo驱动程序http://mongodb.github.io/node-mongodb-native/3.1/api/中提供?

EN

回答 1

Stack Overflow用户

发布于 2018-08-06 00:04:10

正如注释中所提到的,您可以找到节点-mongodb-本机v3.1api ClientSession上事务的引用。这是因为事务与会话相关联。也就是说,您为会话启动事务。在任何给定的时间,您最多可以为一个会话拥有一个打开的事务。

MongoDB多文档事务的文档还包含示例Node.js代码片段。例如:

代码语言:javascript
复制
  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()
  • ClientSession.commitTransaction()
  • ClientSession.abortTransaction()

除了MongoDB Node.js驱动程序v3.1之外,请注意,副本集仅适用于MongoDB v4.0.x上的多文档事务。切分群集的事务可以从v4.2版本开始。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51587451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档