我的问题 -有没有办法同时读取和写入 MongoDB?还是让 MongoDB 阅读器变得贪婪?
我有一个使用 MongoDB 作为数据库的 Web 应用程序。在我的应用程序中,我有一个正在监听的串行事件。在此串行事件中,我创建了一个新线程来处理该事件。在线程中,解析来自 serial 的字符串并创建一个对象,然后将其写入 mongo 数据库(创建一个新文档并将其添加到特定集合中)。
但是,在发生此串行事件时,我还尝试从数据库中读取数据并更新图表以显示来自该集合的新传入数据。问题在于,由于 MongoDB 对编写器很贪心(请参阅http://docs.mongodb.org/manual/faq/concurrency/),因此似乎永远不允许发生读取。
我的系列事件大约每秒发生 2/3 次。我的阅读速度也大约每秒 2 次。数据需要保持写入数据库,以便所有客户端都可以访问它,而不仅仅是接收串行事件的客户端。
所以我的问题是,有没有办法让我的阅读?我可以将 MongoDB 上的锁更改为读者贪婪吗?或者有没有一种方法可以在不影响速度的情况下同时读写?分片是否可以解决这个问题(我对分片了解不多,所以不确定这是否能解决我的问题)?
如果您想发布任何代码,请告诉我!任何意见或解决方法将不胜感激!