假设有如下文件的结构:
{_id:"session-01", status:"free"}
下面有两个执行findAndModify
操作的并发操作:
db.collection.findAndModify({query:{status:"free"}, update:{status:"occupied"}, new:true})
我想要实现的只有一个操作可以获得" free"一,并对其执行锁定,因此其他操作必须为null。那是findAndModify的作用吗?
答案 0 :(得分:7)
根据官方文档,MongoDB确实提供了孤立的更新和返回 以下是mongoDB官方文档链接: Why findAndModify is Atomic 以下是findAndModify在mongoDB中的工作原理的一个简单示例:How findAndModify works
注意 - 我通常不喜欢发布链接,但我不想诋毁内容所有者。