11

我想以特定方式(-1、1)对索引进行排序,并希望确保空值位于索引的顶部。我怎样才能确保这一点?

4

2 回答 2

7

如果您正在降序排序并且您null在末尾看到值,那将是排序的默认行为。

实际上没有太多可以改变这种行为的方法,但是可以为您提供所需结果的解决方法是执行两个查询而不是一个:

db.Collection.find( { a: null } );
db.Collection.find( { a: { $ne: null } } ).sort( { a: -1, b: 1 } );
于 2013-03-07T16:28:49.340 回答
0

您已经说过“我只想通过一个查询基本上有一个'如果一个存在空值,否则一个不存在'”,那么 db.collection.find().sort().limit(1) 怎么样?

于 2016-03-13T10:42:29.800 回答