【发布时间】:2017-02-27 14:37:06
【问题描述】:
我目前遇到这样的问题:
我有一个对象 A,它有一个数组属性 Bs。我想在UI中显示Bs,但是因为数据太多,我不得不以某种方式进行分页。问题是,我做了一些研究,但找不到可以先展开,然后分页的解决方案。
答:
{
id : 1,
Bs : [{
id: 29
},{
id : 3
}]
}
如果我使用聚合,我可以展开 B,但之后不能对它们进行分页。分页是主要问题。
如果我使用 PagingAndSortingRepository,我可以分页,但不能放松。即使我之后手动展开,因为我在展开之前进行了分页,结果也不会像预期的那样。
如果我使用 Query - Criteria,我可以使用 skip & limit 进行分页,但在分页前仍然不知道如何展开。
大问题:我怎样才能先展开,然后对展开的结果进行分页?
编辑:
MongoDB 中的示例数据对象:
{
id: 1,
ts: 1488208130000,
logs: [{
id: 1,
type: 4
},{
id: 2,
type: 7
}]
},
{
id: 2,
ts: 1488208150000,
logs: [{
id: 2,
type: 4
}]
}
我想用 startDate 和 endDate 之间的 ts 查询 logs,通过 ts 描述,如果指定也可以通过 type 查询。但是有太多的数据对象,例如如果你上周选择(它们几乎每秒 1 个),所以我需要分页。我不知道数据对象中有多少日志。所以,我不能先分页,然后展开日志。这个数字可能不匹配。我可能会查询数据收集 2. 大小为 100 的页面,但是当我展开日志时,其中可能有 47 个具有所需的type。
【问题讨论】:
标签: spring mongodb pagination