MongoDB 锁定插入操作

MongoDB locks on insert operations

当新行被插入到 MongoDB 集合中时,是否仍然可以查询旧记录?

WiredTiger 和 MMAPv1 在这方面有什么区别吗?

有线虎

WiredTiger 使用文档级锁定。 WiredTiger 是 3.0

版本 mongodb 的默认存储引擎

MMAPv1

MMAPv1 使用 3.0 版的集合级锁定,这是一个巨大的改进,因为之前它使用的是数据库级锁定。此外,MMAPv1 是 mongodb 3.0 版之前的默认存储引擎。

现在回答你的问题

由于 WiredTiger 提供文档级锁定,并且 WiredTiger 是 3.0 的默认存储引擎,您可以在 Mongodb 3.0 及更高版本中查询集合中的旧记录。但是由于 Mongodb 在 3.0 版本之前使用 MMAPv1 作为默认存储引擎,所以在早期版本中,您将无法在集合中搜索旧记录。

更多信息,请参考以下内容link:- https://docs.mongodb.org/manual/faq/concurrency/