2013-06-23 86 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); –