我正在使用 Meteor 编写一个聊天程序。我需要按升序显示最近的 10 条消息。
Messages.find({...}, {sort: {created: 1}, skip: getMessageCount()-10, limit: 10});
此代码仅向我显示前 10 条消息。
跳过参数是否在 Meteor 中起作用并且我犯了一个错误,或者是否有任何已知的错误?
我正在使用 Meteor 编写一个聊天程序。我需要按升序显示最近的 10 条消息。
Messages.find({...}, {sort: {created: 1}, skip: getMessageCount()-10, limit: 10});
此代码仅向我显示前 10 条消息。
跳过参数是否在 Meteor 中起作用并且我犯了一个错误,或者是否有任何已知的错误?
它返回前 10 条消息的原因是: ,按 value属性{sort: {created: 1}}
的升序返回。created
你应该写{sort: {created: -1}}
,即。值较高的记录created
将首先返回。
此外,假设created
带有一个有效的日期值和时间戳,您应该插入它的parsed
值,以便有效地执行基于日期的排序。
你只需要在服务器上形成
Messages.find({...}, {sort: {created: -1}, limit: 10});
然后在客户端上
Messages.find({...}, {sort: {created: 1}})
会发生什么: