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

时间:2016-03-16 06:29:28

标签: mongodb mongodb-query database

我收集了15000份文件。某些文档的 $app->delete('/projects/{id}', "projects.controller:delete")- >before($loggedInFilter); 包含数值,而其他文档则没有 sr_no

现在我希望获得所有文档的条目,首先是 sr_no asc ,然后是其他所有文档。

我尝试了 sr_no ,但它首先返回所有 .find().sort({sr_no:1}) 条目,然后 asc 返回 {{ 1}}

  

这个问题与duplicate似乎太近了。但稍微推迟   用数字键。

我在下面用黑客回答了这个问题。

1 个答案:

答案 0 :(得分:6)

我使用了一个肮脏的黑客。

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

enter image description here

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

什么是黑客?

使用空字符串默认存储sr_no : ""

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