无法连接到Compass中的副本集

时间:2019-07-16 14:12:35

标签: mongodb docker-compose replicaset

我正在尝试使用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

有人可以帮我吗?

1 个答案:

答案 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()

,然后通过指定“副本集名称”通过指南针进行连接

Replica Set Name in mongodb

一切都会好起来的。

***顺便说一句,请记住,复制在开发过程中必须处于活动状态并保持运行。

相关问题