2010-06-22 80 views
4

我有一些麻煩扼殺了爲什麼我無法連接到我在MongoHQ中創建的新數據庫。連接到來自ASP.NET的遠程MongoDB實例

我想在我的Web.config文件中包含正確的連接字符串,並讓我的Mongo對象引用數據庫連接。

連接字符串(編輯,很明顯)是:

公共訪問

蒙戈flame.mongohq.com:27065/dunedin -u {用戶名} {-p密碼}

AWS內部訪問

蒙戈flame.local.mongohq.com:27065/dunedin -u {用戶名} {-p密碼}

很顯然,我在密碼中包含了正確的用戶名,而不是括號中的佔位符。

我的代碼是:

string connection = ConfigurationManager.ConnectionStrings["DBMongo"].ConnectionString; 
var mongo = new Mongo(connection); 

mongo.Connect(); 

然而,當我嘗試實例化蒙戈對象,我得到一個格式異常話說

無效的連接字符串:

該連接字符串應該看起來像是遠程託管的MongoDB實例嗎?

編輯:

web.config中的連接字符串項是

<add name="DBMongo" connectionString="mongo flame.mongohq.com:27065/dunedin -u ausername -p apassword"/> 

回答

3

mongo shell中輸入show users。然後使用在連接字符串中顯示密碼的散列密碼。

0

如何放置在Web.config文件的連接字符串是什麼樣子?你得到的例外表明它是無效的。使用MongoDB文檔說明它。

+0

Mongo站點上的文檔(我發現)對遠程連接沒有幫助。它主要圍繞着從命令行開始工作。 – 2010-06-22 10:21:22

+0

@ Phil.Wheele:我發現這個:http://www.captaincodeman.com/2010/05/24/mongodb-azure-clouddrive/它導致http://github.com/samus/mongodb-csharp – abatishchev 2010-06-22 10:35:36

1

你顯然正在使用mongodb-csharp。你最明確使用的是不是有效的連接字符串。您可以在http://groups.google.com/group/mongodb-csharp組詢問您的問題,或者查看文檔和代碼。甚至有一個連接字符串生成器,所以你不需要知道確切的語法。

+0

Couldn找不到連接字符串生成器,但該網站有我需要的信息。感謝指針。 – 2010-06-23 09:35:10

5

MongoDB的連接字符串格式化爲URI,詳細信息can be found here。以下是基本格式和一些例子:

mongodb://[username:[email protected]]host1[:port1][/[database][?options]] 

mongodb://127.0.0.1 

mongodb://127.0.0.1/mydatabase 

mongodb://mongosrv.com:10230/mydatabase 

mongodb://myadmin:[email protected]:10230/mydatabase 

// Or in your case it would be 

mongodb://ausername:[email protected]:27065/dunedin 

您還可以使用MongoUrlBuilder和MongoUrl構建或programatticaly解析連接字符串。儘管有點羅嗦,但我相信推薦的使用方式是這樣的

var mongoUrl = new MongoUrl(settings.ConnectionString); 
var mongoClient = new MongoClient(mongoUrl); 
var mongoServer = mongoClient.GetServer(); 
var mongoDatabase = mongoServer.GetDatabase(mongoUrl.DatabaseName); 
相關問題