在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
字段之外,还可以使用其他字段进行排序,只需将字段名替换为所需的字段名即可。