我正在使用django non-rel和mongodb后端。 文档很清楚如何连接到单个主机,但是我想连接到副本集中的所有主机。
是否可以这样做?
settings.py中的DATABASES元素如何用于连接字符串,如下所示:
mongodb://db1.example.net,db2.example.net:2500/?replicaSet=test
答案 0 :(得分:0)
我已经研究过这个问题,不幸的是,目前这还不可能,但是我已经提出了一个功能请求,试图在将来的版本中实现这个功能。
目前,您必须单独连接到每个数据库,但您可以查看异步连接或后台任务以加快应用程序性能。
答案 1 :(得分:0)
在mongodb-engine项目中有一个未解决的问题。
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',
},
}
<强>更新强>
这已经过验证可以在主分支上运行: