代码之家  ›  专栏  ›  技术社区  ›  Senthil Arumugam SP

Spring数据MongoDB排序未按预期工作

  •  0
  • Senthil Arumugam SP  · 技术社区  · 9 年前

    Mongodb集合示例

    [
    {"sno":4,"data":"data-4"},
    {"sno":3,"data":"data-3"},
    {"sno":2,"data":"data-2"},
    {"sno":1,"data":"data-1"},
    ]
    

    弹簧数据代码:

    PageRequest pageable = new PageRequest(page--, size);
    return dao.findAll(pageable);
    

    {"sno":4,"data":"data-4"}
    

    如果我将页面传递为1,大小为2,请参见下面的 预期:

    {"sno":4,"data":"data-4"}
    {"sno":3,"data":"data-3"}
    

    {“sno”:3,“data”:“data-3”}

    它跳过了第一条记录,看起来这是用于mongodb实现的Spring数据的问题。我试过显式 Sort(DESC,"sno")

    有人遇到过这个问题吗?

    1 回复  |  直到 9 年前
        1
  •  0
  •   Orest    9 年前

    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"));
    
    推荐文章