如果我正在编写一个连接到 mongodb 的应用程序,那么我可以为副本集提供一个种子列表,驱动程序会将我引导到主节点,在那里我可以运行写入命令。
如何为命令行 mongo
shell 指定种子列表以连接到副本集。
最佳答案
要连接到副本集 Primary 使用 mongo shell --host
选项:
mongo --host replicaSetName/host1[:porthost1],host2[:porthost1],host3[:porthost3],etc
例如:
$ mongo --host rs1/john.local:27019,john.local:27018
MongoDB shell version: v3.4.9
connecting to: mongodb://john.local:27019,john.local:27018/?replicaSet=rs1
2017-10-12T14:13:03.094+0000 I NETWORK [thread1] Starting new replica set monitor for rs1/john.local:27019,john.local:27018
2017-10-12T14:13:03.096+0000 I NETWORK [thread1] Successfully connected to john.local:27019 (1 connections now open to john.local:27019 with a 5 second timeout)
2017-10-12T14:13:03.096+0000 I NETWORK [thread1] Successfully connected to john.local:27018 (1 connections now open to john.local:27018 with a 5 second timeout)
rs1:PRIMARY> db
test
rs1:PRIMARY>
注意:从版本 3.4.2 到 3.4.10 存在一个错误 (SERVER-28072),在使用 --host 或 --port 后无法指定数据库。
https://stackoverflow.com/questions/13912765/