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

Javascript 使用mongodb(monk)中的.find()获取最新的50个文档,javascript,node.js,database,mongodb,monk,Javascript,Node.js,Database,Mongodb,Monk,我正在用这条线获取最新的50份文件 const msgs = await messages.find({ 'group': this.id }, { limit: 50 }) 但它只获取最旧的50个文档,而不是最新的文档 有什么办法可以解决这个问题吗?您缺少一行,该行将指示正在创建的文档的时间范围,如排序:{'createdAt':'desc'} 这将允许您根据创建日期(应为日期)仅获取最新的50个文档 否则,您将需要使用一些其他属性来指示文档的创建顺序(id通常是随机值,因此使用它进行排序将

我正在用这条线获取最新的50份文件

const msgs = await messages.find({ 'group': this.id }, { limit: 50 })
但它只获取最旧的50个文档,而不是最新的文档


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

您缺少一行,该行将指示正在创建的文档的时间范围,如
排序:{'createdAt':'desc'}

这将允许您根据创建日期(应为
日期
)仅获取最新的50个文档

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




您需要先对_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 })