我使用的是dongang non-rel与mongodb后端。 该文档清楚如何连接到单个主机,但是我想连接到副本集中的所有主机。Django无法连接到副本集中的多个主机
有没有可能这样做?
如何将settings.py中的数据库元素看起来像一个连接字符串,如这样的:
mongodb://db1.example.net,db2.example.net:2500/?replicaSet=test
我使用的是dongang non-rel与mongodb后端。 该文档清楚如何连接到单个主机,但是我想连接到副本集中的所有主机。Django无法连接到副本集中的多个主机
有没有可能这样做?
如何将settings.py中的数据库元素看起来像一个连接字符串,如这样的:
mongodb://db1.example.net,db2.example.net:2500/?replicaSet=test
在MongoDB引擎项目中存在一个悬而未决的问题。
https://github.com/django-nonrel/mongodb-engine/pull/170#issuecomment-42406797
从评论,这是它应该怎么做:
DATABASES = {
'default': {
'ENGINE': 'django_mongodb_engine', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'dbname', # Or path to database file if using sqlite3.
'USER': '', # Not used with sqlite3.
'PASSWORD': '', # Not used with sqlite3.
'HOST': 'mongodb://mongodb1.domain.com:27107, mongodb2.domain.com:27017/?replicaSet=replicaname',
},
}
更新:
这已被证实在主分支上工作:
我已经研究过这个问题,不幸的是,这是目前不可能,但我已经退出功能请求尝试在未来版本中实现这一点。
当前,您将不得不分别连接到每个数据库,但您可以查看异步连接或后台任务以加快应用程序性能。
我没有看到如何连接到每个数据库分别帮助我在这里的django非rel的上下文。请解释。 此外,应用程序性能不是这里的问题,而是与副本集的可靠连接。 你能提供一个链接到功能请求吗? – odedfos