javascript - mongodb 中使用 .find() 获取最新 50 个文档(monk)

标签 javascript node.js database mongodb monk

我正在尝试使用该行获取最新的 50 个文档

const msgs = await messages.find({ 'group': this.id }, { limit: 50 })

但这只能获取最旧的 50 个文档,而不是最新的文档

有什么办法可以解决这个问题吗?

最佳答案

您缺少指示文档创建时间范围的行,例如 sort: {'createdAt': 'desc'}

这将允许您根据创建日期(应该是 Date 类型)仅获取最新的 50 个文档。

否则,您将需要使用一些其他属性来指示创建文档的顺序(id 通常是随机值,因此使用它进行排序将无法按预期进行)。


messages.find({ 'group': this.id })
.sort({'createdAt': 'desc'})
.limit(50)
.then(msgs => {
  console.log(msgs)
});

const msgs = await messages.find({ 'group': this.id }, { sort: {'createdAt': 'desc' }, limit: 50 })

关于javascript - mongodb 中使用 .find() 获取最新 50 个文档(monk),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62666534/

相关文章:

php - 如何提高十亿行表的插入性能?

javascript - jQuery 日期选择器从 future 日期开始

javascript - 我怎样才能像这样为 Angular Controller 和服务编写 Jasmine 测试?

javascript - localtunnel 是如何工作的?

javascript - Node.js,Express : Cannot set headers after they are sent to the client

sql - 无法将 View 列的数据类型从数字更改为数字(4,1)

database - 从计算表中获取最小值

JavaScript 运行时错误 : '$' is undefined

javascript - 无法从 Jquery 访问关联模型

model-view-controller - 如何将 mongoose 与 express.js 项目集成?