我在使用mongodb排序时面临一个问题。默认情况下,排序在空值上作为升序的第一个元素和降序的最后元素。对于我的一个要求,我必须在最后一个地方显示所有空值,而不管排序顺序如何。
如果是单列,应该没问题。但我必须一次排序多个领域。对于所有字段,它必须将所有空值视为最后一个值。
Mongodb对此有何支持?我正在使用弹簧数据。思想弹簧排序提供Null Last作为参数的功能,一些如何不起作用。
答案 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));