我正在尝试使用 Compass 连接到我的本地 mongodb 复制集,但它正在将连接 0 到 localhost:27017 关闭
。
这是我的 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
有人可以帮助我吗?
最佳答案
为此:首先转到您的 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()
并通过指定“副本集名称”通过指南针进行连接
一切都会好起来的。
*** 顺便说一句,请记住,复制在您的开发过程中必须处于事件状态并保持运行。
关于mongodb - 无法连接到 Compass 中的复制集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57059310/