MongoDB仅按存在条目排序,键值为first,键值为null或不存在

Nis*_*ani 3 database mongodb mongodb-query

我收集了15000份文件.有些文件有sr_no数字值,有些文件没有sr_no.

现在我想获得所有文件的条目首先出现sr_noasc然后所有其他文件.

我试过.find().sort({sr_no:1}),但它返回所有的null第一项,然后递增sr_no.

这个问题似乎过于亲近重复.但用数字键稍微延迟.

我用下面的黑客回答了这个问题.

Nis*_*ani 6

我用了一个肮脏的黑客.

MongoDB doc说他们有优先排序方式,如下图所示.

在此输入图像描述

因此,当我使用asc排序时,它首先将所有null(空键视为空)条目排序,然后对数字条目进行排序.

什么是黑客?

存储sr_no : ""空字符串默认值.

现在它将排序第一个数值然后字符串.