之前查了很多文章,发现重启以后也没什么用,这里为大家提供一种可能出现的情况的解决办法:

  • 出现这个问题时,大家首先看mongodb连接是否将readPreference设置为secondary,如果有的话,可以删除掉这个配置,或者说变更为primary
    注:readPreference 主要控制客户端driver从副本集(Replica Set)读数据的时候如何路由。

下图为本人uri修改过程,仅供参考:

class MongoClient(object):
	def __init__(self, mongo_uri='127.0.0.1:27017'):
		self.mongo_uri = 'mongodb://{}:{}@{}/admin?connectTimeoutMS=300&ssl=false&minPoolSize=2&maxPoolSize=10&readConcernLevel=majority&readPreference=secondary&authMechani
sm=SCRAM-SHA-1&localThresholdMS=30'.format(username, password, mongo_uri)
		self.client = pymongo.MongoClient(self.mongo_uri, connect=True, unicode_decode_error_handler='ignore')

改为

class MongoClient(object):
	def __init__(self, mongo_uri='127.0.0.1:27017'):
		self.mongo_uri = 'mongodb://{}:{}@{}/admin?connectTimeoutMS=300&ssl=false&minPoolSize=2&maxPoolSize=10&readConcernLevel=majority&authMechani
sm=SCRAM-SHA-1&localThresholdMS=30'.format(username, password, mongo_uri)
		self.client = pymongo.MongoClient(self.mongo_uri, connect=True, unicode_decode_error_handler='ignore')
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐