mongoose子文档数组,大家是怎样做分页查询的?【子文档分页查询】
发布于 2天前 作者 jerrywu55 176 次浏览 来自 问答

大家都是怎样实现的呢? 我实现这个功能时遇到一些疑惑。

谢谢大家!

7 回复

@jerrywu55 之前有过一个小项目,分页的策略是,直接在后端查出所有页面需要的数据,再在前端进行的分页

@DavidCai1993 万一数据量大的话,不是很慢吗

@jerrywu55 恩,因为是在内网用的,所以数据量不大,就直接在前端做了,如果数据量稍微大点的比如cnode,首页:

取每页的数据的时候会根据页面地址的query参数配一个 var options = { skip: (page - 1) * limit, limit: limit, sort: '-top -last_reply_at'}; 参数,再去mongoose查

不过取分页数的时候,貌似也是

    Topic.getCountByQuery(query, proxy.done(function (all_topics_count) {
        var pages = Math.ceil(all_topics_count / limit);
        ...

取了所有符合条件的数据然后再算的分页数 :(

但是这些数据都做了缓存(用的 这个库 ),所以即使有分页体感也没有太慢?:

    setInterval(indexCache, 1000 * 5);// 五秒更新一次
    indexCache();

数组子文档,都是有索引的。你可以使用这个索引分页

还有,Mongodb单个文档的16M限制,楼主要记得呀。

@359056163

通过 _id l来页吗? 如何实现

回到顶部