MongoDB使用进程范围的写锁来保证一次只能执行一个写操作(更新/插入/删除).因此,它会自动解决并发问题,因为根本不允许写并发.
如果4个线程try 更新操作,其中一个线程将获得写锁,执行更新并释放锁.在那之后,剩下的3个人中的一个会抓住锁,进行更新,等等.
只有当您的操作不能包装在单个写操作中时,并发性才会发挥作用.请注意,对于最常见的用例(查找文档、更新文档并以原子方式获取新版本),MongoDB提供了"findAndModify"命令,它只执行以下操作:http://www.mongodb.org/display/DOCS/findAndModify+Command
更新:现在锁定更加精细.