根据 MongoDB手册页上 cursor.sort中的信息(关于比较值的最后一段),就 sort() 函数而言,NULL 值小于任何其他值。
问题是,缺少的属性是否被视为 NULL?根据我的测试不是这样:
> db.sort.find().sort({id:1})
{ "_id" : ObjectId("5269554df18e7d2f4bd1241d"), "a" : "Anonym" }
{ "_id" : ObjectId("52695684f18e7d2f4bd12421"), "a" : "Bnonym", "d" : "iii" }
{ "_id" : ObjectId("52695892f18e7d2f4bd12422"), "id" : null, "a" : "Bnonym", "d" : "iii" }
{ "_id" : ObjectId("5269591bf18e7d2f4bd12425"), "id" : null, "a" : "ZZZaaa", "d" : "iii" }
{ "_id" : ObjectId("526954d4f18e7d2f4bd1241b"), "id" : 7, "a" : "Jozo" }
顺序似乎是:
- 未定义/缺少排序属性
- 空值
- 其余的根据手册页的顺序
问:问题是,是否存在一些与 null 不同的未记录类型,因为缺少属性?