Ole*_*ats 13 ajax mongoose mongodb node.js infinite-scroll
我有mongodb和NodeJs.连接通过mongoosejs完成.
开发ajax无限滚动的最佳方法是什么?我应该使用限制和抵消吗?
Ser*_*sev 33
当您在远程数据集中进行分页时,"跳过和限制"方法效率不高.它实际上是Shlemiel the Painter的算法.
范围查询效率更高(当索引支持时).例如,让我们假设您正在显示推文.您的页面大小为20,您在第1000页,并且要加载页面1001.
这个查询
db.tweets.find().sort({created_at: -1}).skip(1001*20).limit(20)
Run Code Online (Sandbox Code Playgroud)
是远小于有效
db.tweets.find({created_at: {$lt: last_displayed_date}}).
sort({created_at: -1}).limit(20);
Run Code Online (Sandbox Code Playgroud)
(假设您有索引created_at).
您明白了这一点:当您加载页面时,请记下上一条推文的时间戳,并使用它来查询下一页.
| 归档时间: |
|
| 查看次数: |
8263 次 |
| 最近记录: |