mongodb 如何确保$sort无论升序还是降序都将缺失值推到底部

axzmvihb  于 2023-05-17  发布在  Go
关注(0)|答案(1)|浏览(124)

如果我基于包含缺失值的列进行排序,则如果排序是升序的,则缺失值将位于顶部。
如何确保缺失值总是被推到底部,无论是升序还是降序?

svmlkihl

svmlkihl1#

有点厚脸皮,但你可以“临时”分配一个值,将项目强制到列表的底部,然后将其过滤掉:

db.foo.aggregate([
    {$addFields: {
        'val':{$ifNull: [ '$val', 99999999999999 ]}
    }}  
    ,{$sort: {'val':1}}
    ,{$match: {'val':{$ne:99999999999999}}}
]);

相关问题