映射减少操作由许多任务组成,包括从输入集合中读取,map函数执行,reduce函数执行,在处理期间写入临时集合以及写入输出集合。
在操作期间,map-reduce采取以下锁定:
merge,replace,reduce)采用写锁。此写锁定是全局的,并且会阻止mongod
实例上的所有操作。注意
后处理期间的最终写锁定使结果自动显示。然而,输出操作merge和reduce可能需要时间来处理。对于merge和reduce,该
nonAtomic标志可用,从而释放写入每个输出文档之间的锁定。从MongoDB 4.2开始,不推荐使用显式设置。有关
更多信息,请参见参考。nonAtomic:
falsedb.collection.mapReduce()