猫鼬 - 查询最新文档

时间:2017-10-02 20:23:51

标签: javascript node.js mongodb mongoose

这似乎是一个基本问题,但我无法找到答案。

我想在我的数据库中查询最新文档。我为它编写了以下函数,但它没有返回最新的条目,而是只返回db中的第一个条目。我尝试使用find()而不是findOne()但它返回了一个数组内的对象,这不是我想要的。是否有本地mongoose函数以对象的形式返回最新文档?

const getLatestRound = module.exports.getLatestRound = function(callback){
    SmallHistory.findOne().limit(1).sort({ date: -1 }).exec((err, data) => {
        if(err) {
            callback(new Error('Error querying SmallHistory (getLatestRound())'));
            return;
        }
        if(data) {
            callback(null, data);
            return;
        }
    });
}

请不要downvote :(谢谢

1 个答案:

答案 0 :(得分:2)

sort()limit()的顺序错误;你在向后排序之前限制你。将其更改为:

SmallHistory.findOne().sort({ date: -1 }).limit(1).exec((err, data)