我正在使用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:感謝日期解析提示! –