2013-06-23 124 views
-1

我的web服務寫入一個mongodb,我注意到在負載下,寫入失敗了很多。 Reading this documentation我看到,默認情況下,設置設置爲「確認」並閱讀this post看來我需要將其設置爲更高的設置(安全模式 - 似乎不推薦使用)。所以我的問題是,我應該如何初始化我的MongoDB,這樣我的Web服務將「始終」寫入數據庫(或拋出錯誤嘗試)並且不失敗(假設它可以寫入:))c#mongodb驅動程序寫關注

從我理解的我需要設置「寫關注」,但關於如何設置它

我現在使用的檢索數據庫的代碼爲「以書面形式向DB保證不對的成功」還不清楚的是:

MongoClient client = new MongoClient(connection_string); 
var server = client.GetServer(); 
Database = _db = server.GetDatabase(dbname); 
+0

「寫入失敗很多」?怎麼會這樣? – WiredPrairie

+0

「安全」==「確認」 - 正如Derick所說,術語已更改,當前的默認值正是SAFE之前的意思。您需要提供更多信息,因爲看起來可能還有其他問題(因此需要不同的解決方案)。 –

+0

已確認應該拋出無法寫入數據庫的錯誤,但在查看日誌時,我發現所有請求都正常。我應該看看一些結果,如果不成功,再試一次? –

回答

0

您的連接字符串需要爲此選項w = 1,這是該驅動程序的更高版本中的默認值。這在連接字符串中看起來如下所示:

mongodb://localhost/?w=1 

但這是默認設置。

你寫「寫入失敗很多」 - 你怎麼看?通過文件不在數據庫中,或通過獲取錯誤?讓我知道,我會更新答案。

+0

我發送了數千個相同的請求,他們都得到200迴應(沒有錯誤被拋出)。每個請求寫入數據庫相同的數據 - 成功寫入次數<發送請求的數量... –

+0

MongoDB不會發送「200」錯誤。你如何將東西發送到MongoDB? – Derick

+0

GetCollection ().Save (entity); –