如何在开发环境下使用MongoDB单节点进行事务处理开发

2,523 阅读1分钟

MongoDB的事务处理必须使用复制集的连接方式,所以如果你直接连接MongoDB服务器进行事务处理的开发。会报错:# Transaction numbers are only allowed on a replica set member or mongos

此时,很多伙伴以为必须在本地配置多个节点组成复制集。其实并没有那么麻烦,只需要将现有单副本转成复制集就可以满足事务处理的开发了,无需增加新的节点。单副本转为复制集也很简单。

第一步、关闭实例

第二步、以复制集方式启动

在原有启动参数上加上 --replSet rs0 例如:

mongod --port 27017 --dbpath /srv/mongodb/db0 --replSet rs0 --bind_ip localhost,<hostname(s)|ip address(es)>

第三步、使用 mongo shell 连接 mongod 实例

第四步、初始化复制集

在mongo shell中输入 rs.initiate()

rs.initiate()

此时,你的单节点复制集已经运行。