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.
Der $week Operator gibt die Wochennummer für ein Datum als Wert zwischen 0 und 53 zurück. Die Woche 0 beginnt am 1. Januar und die nachfolgenden Wochen beginnen am Sonntag. Wenn das Datum null oder fehlt, $week wird NULL zurückgegeben.
Syntax
Die Syntax für den $week-Operator lautet wie folgt:
{
$week: <dateExpression>
}
Oder mit Zeitzonenspezifikation
{
$week: {
date: <dateExpression>,
timezone: <timezoneExpression>
}
}
Die Parameter
| Parameter | Description |
|---|---|
dateExpression |
Jeder Ausdruck, der in ein Datums-, Zeitstempel- oder ObjectId-Objekt aufgelöst wird. |
timezone |
Wahlfrei. Die Zeitzone, die für die Berechnung verwendet werden soll. Kann ein Olson-Zeitzonenbezeichner (z. B. "America/New_York") oder ein UTC-Offset (z. B. "+0530") sein. |
Examples
Betrachten Sie dieses Beispieldokument aus der Stores-Sammlung.
{
"_id": "0fcc0bf0-ed18-4ab8-b558-9848e18058f4",
"name": "First Up Consultants | Beverage Shop - Satterfieldmouth",
"location": {
"lat": -89.2384,
"lon": -46.4012
},
"staff": {
"totalStaff": {
"fullTime": 8,
"partTime": 20
}
},
"sales": {
"totalSales": 75670,
"salesByCategory": [
{
"categoryName": "Wine Accessories",
"totalSales": 34440
},
{
"categoryName": "Bitters",
"totalSales": 39496
},
{
"categoryName": "Rum",
"totalSales": 1734
}
]
},
"promotionEvents": [
{
"eventName": "Unbeatable Bargain Bash",
"promotionalDates": {
"startDate": {
"Year": 2024,
"Month": 6,
"Day": 23
},
"endDate": {
"Year": 2024,
"Month": 7,
"Day": 2
}
},
"discounts": [
{
"categoryName": "Whiskey",
"discountPercentage": 7
},
{
"categoryName": "Bitters",
"discountPercentage": 15
},
{
"categoryName": "Brandy",
"discountPercentage": 8
},
{
"categoryName": "Sports Drinks",
"discountPercentage": 22
},
{
"categoryName": "Vodka",
"discountPercentage": 19
}
]
},
{
"eventName": "Steal of a Deal Days",
"promotionalDates": {
"startDate": {
"Year": 2024,
"Month": 9,
"Day": 21
},
"endDate": {
"Year": 2024,
"Month": 9,
"Day": 29
}
},
"discounts": [
{
"categoryName": "Organic Wine",
"discountPercentage": 19
},
{
"categoryName": "White Wine",
"discountPercentage": 20
},
{
"categoryName": "Sparkling Wine",
"discountPercentage": 19
},
{
"categoryName": "Whiskey",
"discountPercentage": 17
},
{
"categoryName": "Vodka",
"discountPercentage": 23
}
]
}
]
}
Beispiel 1: Abrufen der Wochennummer für das Eröffnungsdatum des Stores
Diese Abfrage extrahiert die Wochennummer aus dem Store-Eröffnungsdatum.
db.stores.aggregate([
{ $match: { _id: "905d1939-e03a-413e-a9c4-221f74055aac" } },
{
$project: {
name: 1,
storeOpeningDate: 1,
openingWeek: { $week: { $toDate: "$storeOpeningDate" } }
}
}
])
Diese Abfrage gibt das folgende Ergebnis zurück.
[
{
"_id": "905d1939-e03a-413e-a9c4-221f74055aac",
"name": "Trey Research | Home Office Depot - Lake Freeda",
"storeOpeningDate": ISODate("2024-12-30T22:55:25.779Z"),
"openingWeek": 52
}
]
Beispiel 2: Gruppenspeicher nach Eröffnungswoche
Diese Abfragegruppen speichern die Woche, in der sie für die Analyse geöffnet wurden.
db.stores.aggregate([
{
$project: {
name: 1,
openingWeek: { $week: { $toDate: "$storeOpeningDate" } },
openingYear: { $year: { $toDate: "$storeOpeningDate" } }
}
},
{
$group: {
_id: { week: "$openingWeek", year: "$openingYear" },
storeCount: { $sum: 1 },
stores: { $push: "$name" }
}
},
{ $sort: { "_id.year": 1, "_id.week": -1 } },
{ $limit : 3 } ])
Diese Abfrage gibt die folgenden Ergebnisse zurück:
[
{
"_id": { "week": 40, "year": 2021 },
"storeCount": 1,
"stores": [ "First Up Consultants | Bed and Bath Center - South Amir" ]
},
{
"_id": { "week": 52, "year": 2024 },
"storeCount": 1,
"stores": [ "Trey Research | Home Office Depot - Lake Freeda" ]
},
{
"_id": { "week": 50, "year": 2024 },
"storeCount": 2,
"stores": [
"Fourth Coffee | Paper Product Bazaar - Jordanechester",
"Adatum Corporation | Pet Supply Center - West Cassie"
]
}
]
Verwandte Inhalte
- Überprüfen Sie die Optionen für die Migration von MongoDB zu Azure Cosmos DB für MongoDB (vCore).
- Weitere Informationen zur Featurekompatibilität mit MongoDB.