findAndModify是否有效锁定文档以防止读取冲突?

时间:2014-11-10 14:10:09

标签: mongodb mongodb-query findandmodify

假设有如下文件的结构:
{_id:"session-01", status:"free"}

下面有两个执行findAndModify操作的并发操作: db.collection.findAndModify({query:{status:"free"}, update:{status:"occupied"}, new:true})

我想要实现的只有一个操作可以获得" free"一,并对其执行锁定,因此其他操作必须为null。那是findAndModify的作用吗?

1 个答案:

答案 0 :(得分:7)

根据官方文档,MongoDB确实提供了孤立的更新和返回 以下是mongoDB官方文档链接: Why findAndModify is Atomic 以下是findAndModify在mongoDB中的工作原理的一个简单示例:How findAndModify works

注意 - 我通常不喜欢发布链接,但我不想诋毁内容所有者。