猫鼬:查找并排序没有结果

时间:2016-05-10 20:34:04

标签: node.js mongodb sorting mongoose

我遇到了使用猫鼬排序的问题。我正在尝试执行返回空数组的查找,并且排序正在崩溃

jobsHandler.find({'created_at_timestamp_milliseconds': {$gte: timestamp}}).sort({'activity.activity_type':1}).exec(function(err, docs) {
    if(err) {
        return callback(err);
    }
    callback(null, docs);
});
  

TypeError:无法读取未定义的属性'sort'

我验证了find返回一个空数组:

jobsHandler.find({'created_at_timestamp_milliseconds': {$gte: timestamp}}, function(err, result) {
    console.log(err)
    console.log(result)
})

返回:

  

未定义

     

[]

如果有可能无法获得结果,您如何排序?

修改

因此,引用此问题的其他人将拥有更多上下文,jobHandler是JobModel mongoose模型的包装器。这是find类:

function find(parameters, callback) {
    Job.find(parameters, callback);
}

接受的解决方案有效,因为代码在find中运行,而不是在find完成后运行。

1 个答案:

答案 0 :(得分:1)

试试这段代码:

jobsHandler.find({'created_at_timestamp_milliseconds': {$gte: timestamp}},null,{sort:{'activity.activity_type':1}}).exec(function(err, docs) {
if(err) {
    return callback(err);
}
callback(null, docs);

});

相关问题