我正在尝试连接到我的MongoDB并更新文档。我们使用一个副本服务器作为种子,然后我们想要写一个集合(具体地说,更新一个文档)。
无论我做什么,每次我尝试更新给定的文档时,都会得到以下错误:NotMasterError: not master, full error: {'ok': 0.0, 'errmsg': 'not master', 'code': 10107, 'codeName': 'NotMaster'}。
我尝试将读取参数更改为主要,将写入问题更改为w: 1,但似乎都不起作用。
当我调试时,我可以看到客户端发现了网络中的所有机器,包括实际的主机。
使用另一种语言的Mongo库(Scala中的Reactivemongo),这是自动完成的,但使用PyMongo似乎很困难。如何确保将更新转发到主节点?
如果有人能帮上忙,那就太好了:)
发布于 2020-10-06 03:46:34
因此,多亏了@D. SM answer,我确保了在初始化参数时,通过添加关键字MongoClient:client = MongoClient(uri, replicaset='my-replica-set-name')连接到特定的副本集。
要找出副本集名称是什么(如果您不知道),可以查看您的服务器状态,然后转到conf密钥repl.setName。
再次感谢:)
https://stackoverflow.com/questions/64212449
复制相似问题