MongoDB – sort() 方法
sort()方法指定查询从给定集合返回匹配文档的顺序。在从数据库中检索任何文档之前,您必须将此方法应用于游标。它将文档作为参数,其中包含定义结果集排序顺序的 field: value 对。值为 1 或 -1 分别指定升序或降序排序。
- 如果每次对相同数据执行排序时都返回相同的结果,则这种类型的排序称为稳定排序。
- 如果每次对相同数据执行排序都会返回不同的结果,则这种类型的排序称为不稳定排序。
- MongoDB 通常执行稳定的排序,除非对包含重复值的字段进行排序。
- 我们可以将 limit() 方法与 sort() 方法一起使用,它将返回前 m 个文档,其中 m 是给定的限制。
- MongoDB 可以使用索引找到排序操作的结果。
- 如果 MongoDB 没有使用索引扫描找到排序顺序,那么它使用 top-k 排序算法。
句法:
db.Collection_Name.sort({filed_name:1 or -1})
范围:
该参数包含一个 field: value 对,用于定义结果集的排序顺序。该值为 1 或 -1,分别指定升序或降序排序。参数的类型是文档。
返回:
它按排序顺序返回文档。
例子:
在以下示例中,我们正在使用:
Database: gfg
Collections: student
Document: Four documents contains name and age of the students.
- 按年龄升序返回所有文件:
db.student.find().sort({age:1})
- 按年龄降序返回所有文档:
db.student.find().sort({age:-1})
- 按年龄升序返回所有文档:
db.student.find().sort({name:1})
- 按年龄降序返回所有文档:
db.student.find().sort({name:-1})