在MongoDB中,聚合管道查詢可以通過$sort
階段對數(shù)據(jù)進(jìn)行排序。以下是一個簡單的示例,展示了如何使用聚合管道查詢對集合中的文檔進(jìn)行排序:
假設(shè)我們有一個名為students
的集合,其中包含以下文檔:
[
{ "_id": 1, "name": "Alice", "age": 25 },
{ "_id": 2, "name": "Bob", "age": 20 },
{ "_id": 3, "name": "Charlie", "age": 22 }
]
現(xiàn)在,我們希望按照age
字段對文檔進(jìn)行升序排序??梢允褂靡韵戮酆瞎艿啦樵儯?/p>
db.students.aggregate([
{
$sort: { age: 1 }
}
])
這將返回以下排序后的結(jié)果:
[
{ "_id": 2, "name": "Bob", "age": 20 },
{ "_id": 3, "name": "Charlie", "age": 22 },
{ "_id": 1, "name": "Alice", "age": 25 }
]
如果希望按照age
字段進(jìn)行降序排序,可以將$sort
階段的值更改為-1
:
db.students.aggregate([
{
$sort: { age: -1 }
}
])
這將返回以下降序排序后的結(jié)果:
[
{ "_id": 1, "name": "Alice", "age": 25 },
{ "_id": 3, "name": "Charlie", "age": 22 },
{ "_id": 2, "name": "Bob", "age": 20 }
]
除了age
字段之外,還可以使用其他字段進(jìn)行排序,只需將字段名替換為所需的字段名即可。