Spring 数据 MongoDB 排序未按预期工作
Spring Data MongoDB Sorting not working as expected
样本Mongodb合集
[
{"sno":4,"data":"data-4"},
{"sno":3,"data":"data-3"},
{"sno":2,"data":"data-2"},
{"sno":1,"data":"data-1"},
]
Spring数据代码:
PageRequest pageable = new PageRequest(page--, size);
return dao.findAll(pageable);
如果我将页面作为 1 并将大小作为 1 传递,我将得到以下结果,这是正确的。
{"sno":4,"data":"data-4"}
如果我将页面作为 1 并将大小作为 2 传递,请参见下面
预期:
{"sno":4,"data":"data-4"}
{"sno":3,"data":"data-3"}
实际:
{"sno":3,"data":"data-3"}
{"sno":2,"data":"data-2"}
它跳过了第一条记录,看起来它是 Spring 实施 mongodb 数据的问题。我在可分页中尝试使用显式 Sort(DESC,"sno")
,结果仍然相同。
有人遇到过这个问题吗?
实际上page
从0
开始。
我已经尝试过与您相同的数据,实际上如果我调用:
PageRequest pageable = new PageRequest(0, 1, new Sort(Sort.Direction.DESC, "sno"));
dao.findAll(pageable);
我会得到:
{"sno":4,"data":"data-4"}
同样,如果您需要前两条记录,只需调用
new PageRequest(0, 2, new Sort(Sort.Direction.DESC, "sno"));
样本Mongodb合集
[
{"sno":4,"data":"data-4"},
{"sno":3,"data":"data-3"},
{"sno":2,"data":"data-2"},
{"sno":1,"data":"data-1"},
]
Spring数据代码:
PageRequest pageable = new PageRequest(page--, size);
return dao.findAll(pageable);
如果我将页面作为 1 并将大小作为 1 传递,我将得到以下结果,这是正确的。
{"sno":4,"data":"data-4"}
如果我将页面作为 1 并将大小作为 2 传递,请参见下面 预期:
{"sno":4,"data":"data-4"}
{"sno":3,"data":"data-3"}
实际: {"sno":3,"data":"data-3"} {"sno":2,"data":"data-2"}
它跳过了第一条记录,看起来它是 Spring 实施 mongodb 数据的问题。我在可分页中尝试使用显式 Sort(DESC,"sno")
,结果仍然相同。
有人遇到过这个问题吗?
实际上page
从0
开始。
我已经尝试过与您相同的数据,实际上如果我调用:
PageRequest pageable = new PageRequest(0, 1, new Sort(Sort.Direction.DESC, "sno"));
dao.findAll(pageable);
我会得到:
{"sno":4,"data":"data-4"}
同样,如果您需要前两条记录,只需调用
new PageRequest(0, 2, new Sort(Sort.Direction.DESC, "sno"));