我正在使用Meteor写一个聊天程序。我需要按升序显示最近的10条消息。如何使用流星collection.find()与排序,跳过和限制
Messages.find({...}, {sort: {created: 1}, skip: getMessageCount()-10, limit: 10});
此代码只显示前10条消息。
跳过参数是否适用于流星,我犯了一个错误,还是有任何已知的错误?
我正在使用Meteor写一个聊天程序。我需要按升序显示最近的10条消息。如何使用流星collection.find()与排序,跳过和限制
Messages.find({...}, {sort: {created: 1}, skip: getMessageCount()-10, limit: 10});
此代码只显示前10条消息。
跳过参数是否适用于流星,我犯了一个错误,还是有任何已知的错误?
它返回前10条消息的原因是:{sort: {created: 1}}
,它返回值为created
属性的升序。
你应该写{sort: {created: -1}}
,即。具有较高值created
的记录将首先返回。
此外,假设created
携带有效的日期值和时间戳,您应该插入它的parsed
值,以便基于日期有效地执行排序。
你只需要形成一个服务器上
Messages.find({...}, {sort: {created: -1}, limit: 10});
然后在客户端上
Messages.find({...}, {sort: {created: 1}})
会发生在这里什么:
谢谢你的回答。这是我的帖子中的一个错字。在我的代码文件中,我有'code' {sort:{created:-1}}''code'。但是这给了我最初的信息。我真正想要的是最后一个位置(底部)的最新消息,以便我在我的网站上最后10条消息(排序:asc)并跳过其余部分。我希望这很好理解。 :) –
btw:感谢日期解析提示! –