javascript - Mongoose - 查询最新文档

标签 javascript node.js mongodb mongoose

我想查询数据库中的最新文档。我为其编写了以下函数,但它不返回最新条目,而是仅返回数据库中的第一个条目。我尝试使用 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;
        }
    });
}

最佳答案

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

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

关于javascript - Mongoose - 查询最新文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46533178/

相关文章:

javascript - 在 jQuery 中更改 CSS 类

node.js - mongodb 中的 Npm 验证模块

node.js - 使用winston (node.js) 时在控制台中显示未捕获的异常

mongodb - 如何识别 meteor 内运行的minimongo的端口?

多个对象上的javascript eventlistener

javascript - 当用户在浏览器中选择文本时,有没有办法改变背景颜色(对于 IE9 以下版本)

javascript - JavaScript 数据结构(如数组)为什么以及如何不固定长度?

node.js - 用户定义的错误未打印

java - 响应式(Reactive) Spring Data Mongodb 查询在不应该返回旧数据的情况下返回旧数据

javascript - 在 $group mongodb 之后获取公共(public)元素