Mongoose:当我使用更新功能时,如何对结果列表进行排序

时间:2016-12-24 11:07:55

标签: node.js mongodb mongoose

像那样的代码:

Task.findByIdAndUpdate({_id: req.params.task_id}, updateObj, {new: true}, function (err, updatedTasks) {
        if (err) {
            return resultCode.serverError(req, res)
        }
        resultCode.success(req, res, updatedTasks);
    });

我想对列表进行排序' updateTasks'在现场' create_at',我该怎么办?

1 个答案:

答案 0 :(得分:2)

Mongoose中的

Sorting已在这些版本中发展。从Mongoose的 4.7.x 版本开始,可以通过以下任何方式对日期字段进行降序排序:

Task.findByIdAndUpdate({ ... }).sort('-create_at').exec(function(err, updatedTasks) { ... });
Task.findByIdAndUpdate({ ... }).sort({create_at: -1}).exec(function(err, updatedTasks) { ... });
Task.findByIdAndUpdate({ ... }).sort({create_at: 'desc'}).exec(function(err, updatedTasks) { ... });
Task.findByIdAndUpdate({ ... }).sort({create_at: 'descending'}).exec(function(err, updatedTasks) { ... });
Task.findByIdAndUpdate({ ... }).sort([['create_at', -1]]).exec(function(err, updatedTasks) { ... });

对于升序排序,请在字符串版本上省略-前缀,或使用1ascascending的值。