Spring Data Mongodb没有在空值上正确排序

时间:2016-10-24 13:51:26

标签: spring mongodb sorting

我在使用mongodb排序时面临一个问题。默认情况下,排序在空值上作为升序的第一个元素和降序的最后元素。对于我的一个要求,我必须在最后一个地方显示所有空值,而不管排序顺序如何。

如果是单列,应该没问题。但我必须一次排序多个领域。对于所有字段,它必须将所有空值视为最后一个值。

Mongodb对此有何支持?我正在使用弹簧数据。思想弹簧排序提供Null Last作为参数的功能,一些如何不起作用。

1 个答案:

答案 0 :(得分:1)

您可以这样对字段进行排序:

Sort sort = new Sort(
            new Sort.Order(Sort.Direction.DESC, "firstField", Sort.NullHandling.NULLS_LAST),
            new Sort.Order(Sort.Direction.ASC, "secondField", Sort.NullHandling.NULLS_LAST),
            new Sort.Order(Sort.Direction.ASC, "thirdField", Sort.NullHandling.NULLS_FIRST));