在MongoDB中,聚合管道查询可以通过$sort
阶段对数据进行排序。以下是一个简单的示例,展示了如何使用聚合管道查询对集合中的文档进行排序:
假设我们有一个名为students
的集合,其中包含以下文档:
[ { "_id": 1, "name": "Alice", "age": 25 }, { "_id": 2, "name": "Bob", "age": 20 }, { "_id": 3, "name": "Charlie", "age": 22 } ]
现在,我们希望按照age
字段对文档进行升序排序。可以使用以下聚合管道查询:
db.students.aggregate([ { $sort: { age: 1 } } ])
这将返回以下排序后的结果:
[ { "_id": 2, "name": "Bob", "age": 20 }, { "_id": 3, "name": "Charlie", "age": 22 }, { "_id": 1, "name": "Alice", "age": 25 } ]
如果希望按照age
字段进行降序排序,可以将$sort
阶段的值更改为-1
:
db.students.aggregate([ { $sort: { age: -1 } } ])
这将返回以下降序排序后的结果:
[ { "_id": 1, "name": "Alice", "age": 25 }, { "_id": 3, "name": "Charlie", "age": 22 }, { "_id": 2, "name": "Bob", "age": 20 } ]
除了age
字段之外,还可以使用其他字段进行排序,只需将字段名替换为所需的字段名即可。