我正在尝试使用Compass连接到我的本地mongodb副本集,但它正在引发connection 0 to localhost:27017 closed
。
这是我的docker-compose:
mongo:
image: library/mongo
container_name: mongodb
ports:
- '27017:27017'
entrypoint: [ "/usr/bin/mongod", "--port", "27017", "--bind_ip", "localhost", "--replSet", "rs0" ]
启动容器后,我正在运行:
rs.initiate()
所有这些都使用本教程:https://docs.mongodb.com/manual/tutorial/convert-standalone-to-replica-set/
这是我要使用的连接字符串:
mongodb://localhost:27017/test?replicaSet=rs0
有人可以帮我吗?
答案 0 :(得分:0)
为此:首先进入您的mongo路径。在Windows上,路径是这样的:
C:\Program Files\MongoDB\Server\4.0\bin
在这里您可以找到mongo.exe cmd,运行并键入
db.adminCommand( { shutdown : 1} )
这将关闭您的实例。
下一步,以具有管理员权限的cmd进入系统中的mongo路径:
cd C:\Program Files\MongoDB\Server\4.0\bin
根据Official mongo document about Convert a Standalone to a Replica Set 输入以下命令:
mongod --port 27017 --dbpath "C:\Program Files\MongoDB\Server\4.0\data" --replSet rs0 --bind_ip localhost
其中--dbpath是您的数据库路径,而--repl设置您的复制名称。现在回到mongo shell并输入
rs.initiate()
,然后通过指定“副本集名称”通过指南针进行连接
一切都会好起来的。
***顺便说一句,请记住,复制在开发过程中必须处于活动状态并保持运行。