我的系统需要每秒数千个请求进行大量数据库写入。为了最大限度地缩短响应时间,我已经开始了解写入问题,并且使用未确认/写入关注0会有所帮助,但是正如其预期的那样,火灾和忘记"模式,应用程序将不知道是否有任何问题。我想知道是否有办法监控或通知是否有任何错误。我不必确切地知道哪些写入失败,只知道失败的次数。解决方案不必是C#,并且可以在数据库服务器本身上运行(而不是应用程序服务器)。
我的环境是最新的C#驱动程序和截至12月7日的最新MongoDb,在Ubuntu 14.04上运行。应用程序服务器是Windows 2012 / IIS8 ASP.NET C#。
答案 0 :(得分:0)
不。这就是将确认设置为假的关键。它可以提高速度,但不利的一面是,如果成功插入数据,您将不会得到确认以及_id。一个人所能做的就是获取要检查的数据。
db.hobbies.insertOne({name: "Dancing"}, {writeConcern: {w: 0}})
db.hobbies.find().pretty()