解决办法:
1、在mongo shell中执行rs.slaveOk()
来获取读取的权限。https://docs.mongodb.com/manual/reference/method/rs.slaveOk/
2、在连接时使用指定PRIMARY主机(使用集群方式连接)。如果使用MongoDB管理软件请查看是否有相关配置信息。如果使用命令行方式可以如下命令格式进行连接:mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
如:mongo mongodb://192.168.176.133:27018,192.168.176.135:27017/database?replicaSet=repset2
其中:192.168.176.133和192.168.176.135这两个ip是SECONDARY主机地址,连接后会自动切换到PRIMARY主机上(在连接时会自动查询配置信息,然后连接到PRIMARY主机上)replicaSet是集群名。
链接地址:https://docs.mongodb.com/manual/reference/connection-string/index.html
注:如果在连接过程中出现host2或某个域名出现未知主机异常UnknownHostException
时。请确定此集群在配置时进是否使用主机名映射。也就是否需要在本地修改hosts文件来添加映射关系。