在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
字段之外,還可以使用其他字段進行排序,只需將字段名替換為所需的字段名即可。