在 MongoDB 中,aggregate 的 sort 用于对所有输入文档进行排序,并按排序顺序将它们返回到管道。
db_name.collection_name.aggregate([ { $sort: { <field1>: <sort order>, <field2>: <sort order> ... } } ])
名称 | 描述 |
---|---|
db_name | 数据库名 |
collection_name | 表名 |
field1 | 要排序的字段 |
field2 | 要排序的字段 |
使用 sort 可以对结果进行排序。
我们首先,使用 mongo 命令,连接上数据库,具体命令如下:
mongo
如下图所示:
现在,我们使用 use 命令,切换到 haicoder 数据库,具体命令如下:
use haicoder
现在,我们使用 insert 插入三条记录,具体命令如下:
db.haicoder.insert([ {"url" : "haicoder.net", "course" : "Python"}, {"url" : "m.haicoder.net", "course" :"Java"}, {"url" : "www.haicoder.net", "course" :"Java"} ]);
执行完毕后,此时,如下图所示:
我们看到,此时提示我们成功插入了多条记录,现在,我们使用 aggregate sort,对记录进行排序,具体命令如下:
db.haicoder.aggregate([ { $project: {_id: 0} }, { $sort: {url:1} } ]);
执行完毕后,此时,如下图所示:
我们看到,此时,我们对记录进行了排序,现在,我们还可以同时对两个字段进行排序,具体命令如下:
db.haicoder.aggregate([ { $project: {_id: 0} }, { $sort: {url:-1, course:1} } ]);
执行完毕后,此时,如下图所示:
现在,我们首先对 url 进行了降序排序,再次对 course 进行升序排序。
在 MongoDB 中,aggregate 的 sort 用于对所有输入文档进行排序,并按排序顺序将它们返回到管道。