Node.js mongodb:构建作业队列

Node.js mongodb:构建作业队列,node.js,mongodb,job-queue,Node.js,Mongodb,Job Queue,我正在构建一个具有这种结构的作业队列(Nodejs+Mongodb): { "_id" : ObjectId("53e09abd23bbaeea776598e1"), "createDate" : ISODate("2014-08-05T08:50:05.643Z"), "status" : "new", ...... } 我在系统中定义了4种状态:新建、等待、工作、失败、完成 要求: 我需要在作业队列中选择状态为“新建”的最新作业 目前,我正在使用 jobQu

我正在构建一个具有这种结构的作业队列(Nodejs+Mongodb):

{
    "_id" : ObjectId("53e09abd23bbaeea776598e1"),
    "createDate" : ISODate("2014-08-05T08:50:05.643Z"),
    "status" : "new",
    ......
}
我在系统中定义了4种状态:新建、等待、工作、失败、完成

要求: 我需要在作业队列中选择状态为“新建”的最新作业

目前,我正在使用

jobQueue.findAndModify(
        {
          status: 'new',
        },
        {date: 1},
        {$set: { ... } },
        {remove: false},
        function (err, job) {......
当工作文档较少时,这项功能可以正常工作。但有些情况下,文件数量会上升到5万份。然后锁定周期(使用mongostat)超过100%(有时达到200%)。因此,在这种情况下,我的服务器无法交付新作业

有人能给我一个更有效的方法来回答这个问题吗

提前感谢:)