MongoDB 使用多粒度锁,允许操作锁定全局,数据库或集合级别,并允许各个存储引擎在集合级别下实现自己的并发控制(例如,在 WiredTiger 中的文档级别) 。
MongoDB 使用读写器锁定,允许并发读取器共享访问资源(如数据库或集合),但在 MMAPv1 中,可以对单个写入操作进行独占访问。
除了用于读取的共享( S )锁定模式和用于写入操作的独占( X )锁定模式之外,意图共享( IS )和意图排它( IX )模式指示使用更精细的粒度锁定来读取或写入资源的意图。 以某个粒度锁定时,使用意图锁可以锁定所有更高级别。