mongodb在事务中更新了文档后如何在事务中就能查询出来
发布于 4 年前 作者 wldlzt 4853 次浏览 来自 问答

想请教一下各位,mongodb在事务中更新或删除了文档,如何通过find或findOne找到这些变更后的数据?我也知道只有事务最终提交了后文档才会真正更新到集合,但目前因为某些业务关系,需要在事务过程中就对变更的数据进行查询,能不能做到做这一点?我找了好多方法都不行,有了解的朋友麻烦指点一下谢谢

1 回复

已解决! 原先代码中是这样的: const session = client.startSession({readPreference: { mode: “primary” }, writeConcern: { w: “majority” }}); session.startTransaction({readConcern: {level: “snapshot”}}); 要调整成 const session = client.startSession(); session.startTransaction({readPreference: { mode: “primary” }, writeConcern: { w: “majority” }}); ,而最重要的一点是要在find里把{session}作为参数设置进去也就是这样: await coll_test.findOne({name:“001”},{session});

头大了两天,还是摸索出来了… …其实,api文档里也有的,不好好看文档是不行的…

回到顶部