| 常用选项 | sort / returnDocument(after|before) / upsert |
|---|---|
| 对应命令 | findAndModify |
领取一条任务
领取一条任务
db.tasks.findOneAndUpdate(
{ status: "queued" },
{ $set: { status: "running", worker: "w1", startAt: new Date() } },
{ sort: { priority: -1 }, returnDocument: "after" }
)旧参数 returnOriginal: false 等价于 returnDocument: "after";并发下每个匹配文档只会被一个调用方取走。