【发布时间】:2015-04-16 06:51:37
【问题描述】:
我使用 mongoengine "connect" 方法来访问 mongo db。现在我在 mongodb 服务器上配置了副本集。 为了性能优化,我想将我的所有读取请求路由到具有特定标签的从属/辅助 mongo 服务器。
这是我的连接调用
mongoengine.connect(attrs['DB_NAME'], conn,
read_preference=ReadPreference.SECONDARY_PREFERRED,
tag_sets=[{'loc': 'nm'}, {}],
replicaSet='replset',
host=attrs['HOST'], port=attrs['PORT'],
username=attrs['USERNAME'], password=attrs['PASSWORD'],
max_pool_size=attrs['MAX_POOL_SIZE'])
执行时出错
mongoengine.connection.ConnectionError:无法连接到数据库 默认 : 172.22.67.38:27017 不是副本集replset的成员
【问题讨论】:
-
可能你的 mongo replSet 配置不正确,尝试连接到 mongo shell 并输入 rs.status()。然后请向我们展示输出
-
感谢方舟!你说得对,我的 mongo 服务器没有用正确的副本集标记。
标签: mongodb pymongo mongoengine