2013-05-17 53 views
6

我正在使用Mongodb作爲我的asp.net mvc前端站點的數據庫。我有3個服務器上運行的MongoDB,一個副本集,一個主服務器,一個仲裁服務器和一個仲裁服務器。與此連接的是3臺前端Web服務器,它們對Mongo中保存的數據執行CRUD操作。我有很多關於我的設置的問題,我想澄清一下。瞭解MongoDb連接字符串

這是從C#

server=myprimary.com:27017,mysecondary.com:27017;replicaset=MySet;safe=true;database=MyDatabase 

它是正確的我的連接字符串不包括該連接字符串中仲裁者?

當我使用sql server時,我使用集成安全性設置了所有連接字符串。在Mongo連接字符串中類似的最佳做法是什麼?

+0

它可能有助於http://www.code-sample.com/2016/07/mongodb-connection-string-username.html –

回答

3

在此連接字符串中是否包含仲裁器是否正確?

您不需要提供仲裁器的詳細信息,它會被您的應用程序驅動程序自動發現。

您可以在mongoURI提供的唯一的事情是,你要連接的數據庫SSL選項或用戶名和密碼。但讓我提醒你,有些驅動程序不支持mongoURI中的SSL或「用戶名」和「密碼」。

http://docs.mongodb.org/manual/reference/connection-string/#uri.ssl

mongodb://[username:[email protected]]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] 
0

我建議你諮詢the documentation。它可以回答你的大部分問題。另外,我看到你正在使用替代連接字符串語法。我強烈建議更改爲其他連接字符串格式,因爲我們可能會貶低您正在使用的版本。等效連接字符串爲

mongodb://myprimary.com:27017,mysecondary.com:27017/MyDatabase/?replicaset=MySet. 

最後,您將在上一個鏈接中找到關於認證的文檔。我們沒有「集成安全性」選項,但我們確實支持SSPI集成(也稱爲GSSAPI和Kerberose)。在我們的文檔中您會發現它被稱爲外部驗證。需要注意的是,您正在運行的MongoDB服務器需要安裝在Linux機器上並使用Kerberos進行安裝。當與Active Directory一起使用時,這可以是complicated process以獲取密鑰表文件。

+0

感謝您的這些信息 - 我在Windows服務器上運行,所以我可以使用哪些身份驗證選項? – amateur

+0

如果您在Windows服務器上運行mongodb可執行文件,您擁有的只是本機認證。如在中,存儲在MongoDB中的用戶和密碼。 –