Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die $sort-Phase in der Aggregationspipeline wird verwendet, um die Dokumente in der Pipeline nach einem bestimmten Feld oder bestimmten Feldern zu sortieren. In dieser Phase können Sie Daten sortieren und etwa Umsätze nach Betrag oder Ereignisse nach Datum anordnen.
Syntax
Die Syntax für die $sort-Phase lautet wie folgt:
{
$sort: { <field1>: <sort order>, <field2>: <sort order>, ... }
}
Parameter
BESCHREIBUNG | |
---|---|
field |
Das Feld für die Sortierung |
sort order |
Die Reihenfolge, in der das Feld sortiert werden soll. 1 für aufsteigende Reihenfolge und -1 für absteigende Reihenfolge |
Beispiele
Beispiel 1: Sortieren nach Gesamtumsatz in absteigender Reihenfolge
So sortieren Sie die Umsatzkategorien nach deren Gesamtumsatz in absteigender Reihenfolge:
db.collection.aggregate([
{
$unwind: "$store.sales.salesByCategory"
},
{
$sort: { "store.sales.salesByCategory.totalSales": -1 }
}
])
Beispielausgabe
[
{
"_id": "7954bd5c-9ac2-4c10-bb7a-2b79bd0963c5",
"store": {
"name": "Downtown Store",
"sales": {
"salesByCategory": [
{
"category": "Electronics",
"totalSales": 15000
},
{
"category": "Clothing",
"totalSales": 12000
},
{
"category": "Home Goods",
"totalSales": 10000
}
]
}
}
},
{
"_id": "7954bd5c-9ac2-4c10-bb7a-2b79bd0963c6",
"store": {
"name": "Uptown Store",
"sales": {
"salesByCategory": [
{
"category": "Electronics",
"totalSales": 20000
},
{
"category": "Clothing",
"totalSales": 18000
},
{
"category": "Home Goods",
"totalSales": 15000
}
]
}
}
}
]
Beispiel 2: Sortieren nach Startdatum des Ereignisses in aufsteigender Reihenfolge
So sortieren Sie die Promo-Ereignisse nach ihrem Startdatum in aufsteigender Reihenfolge:
db.collection.aggregate([
{
$unwind: "$store.promotionEvents"
},
{
$sort: { "store.promotionEvents.promotionalDates.startDate": 1 }
}
])
Beispielausgabe
[
{
"_id": "7954bd5c-9ac2-4c10-bb7a-2b79bd0963c5",
"store": {
"name": "Downtown Store",
"promotionEvents": [
{
"eventName": "Summer Sale",
"promotionalDates": {
"startDate": ISODate("2024-06-01T00:00:00Z"),
"endDate": ISODate("2024-06-30T23:59:59Z")
}
},
{
"eventName": "Black Friday",
"promotionalDates": {
"startDate": ISODate("2024-11-25T00:00:00Z"),
"endDate": ISODate("2024-11-25T23:59:59Z")
}
},
{
"eventName": "Holiday Deals",
"promotionalDates": {
"startDate": ISODate("2024-12-01T00:00:00Z"),
"endDate": ISODate("2024-12-31T23:59:59Z")
}
}
]
}
},
{
"_id": "7954bd5c-9ac2-4c10-bb7a-2b79bd0963c6",
"store": {
"name": "Uptown Store",
"promotionEvents": [
{
"eventName": "Back to School",
"promotionalDates": {
"startDate": ISODate("2024-08-01T00:00:00Z"),
"endDate": ISODate("2024-08-31T23:59:59Z")
}
},
{
"eventName": "Winter Sale",
"promotionalDates": {
"startDate": ISODate("2024-12-01T00:00:00Z"),
"endDate": ISODate("2024-12-31T23:59:59Z")
}
}
]
}
}
]
Verwandte Inhalte
- Prüfen Sie die Optionen für die Migration von MongoDB zu Azure Cosmos DB for MongoDB (vCore).
- Beginnen Sie mit dem Erstellen eines Kontos.