2014-02-26 39 views
0

我使用的是dongang non-rel與mongodb後端。 該文檔清楚如何連接到單個主機,但是我想連接到副本集中的所有主機。Django無法連接到副本集中的多個主機

有沒有可能這樣做?

如何將settings.py中的數據庫元素看起來像一個連接字符串,如這樣的:

mongodb://db1.example.net,db2.example.net:2500/?replicaSet=test 

回答

0

在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', 
    }, 
} 

更新:

這已被證實在主分支上工作:

git + https://github.com/django-nonrel/mongodb-engine

0

我已經研究過這個問題,不幸的是,這是目前不可能,但我已經退出功能請求嘗試在未來版本中實現這一點。

當前,您將不得不分別連接到每個數據庫,但您可以查看異步連接或後臺任務以加快應用程序性能。

+0

我沒有看到如何連接到每個數據庫分別幫助我在這裏的django非rel的上下文。請解釋。 此外,應用程序性能不是這裏的問題,而是與副本集的可靠連接。 你能提供一個鏈接到功能請求嗎? – odedfos