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 $year Operator gibt das Jahr für ein Datum als vierstellige Zahl zurück (z. B. 2024). Wenn das Datum null oder fehlt, $year wird NULL zurückgegeben.
Syntax
Die Syntax für den $objectToArray Operator lautet wie folgt:
{
$year: <dateExpression>
}
Oder mit Zeitzonenspezifikation
{
$year: {
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: Extrahieren des Jahres aus dem Store-Eröffnungsdatum
Diese Abfrage extrahiert das Jahr, in dem der Speicher geöffnet wurde.
db.stores.aggregate([
{ $match: { _id: "905d1939-e03a-413e-a9c4-221f74055aac" } },
{
$project: {
name: 1,
storeOpeningDate: 1,
openingYear: { $year: { $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": "2024-12-30T22:55:25.779Z",
"openingYear": 2024
}
]
Beispiel 2: In einem bestimmten Jahr geöffnete Filialen suchen
Diese Abfrage ruft alle Speicher ab, die 2021 geöffnet wurden.
db.stores.aggregate([
{
$match: {
$expr: {
$eq: [{ $year: { $toDate: "$storeOpeningDate" } }, 2021]
}
}
},
{
$project: {
name: 1,
city: 1,
openingYear: { $year: { $toDate: "$storeOpeningDate" } },
storeOpeningDate: 1
}
}
])
Diese Abfrage gibt das folgende Ergebnis zurück.
[
{
"_id": "2cf3f885-9962-4b67-a172-aa9039e9ae2f",
"city": "South Amir",
"storeOpeningDate": "2021-10-03T00:00:00.000Z",
"name": "First Up Consultants | Bed and Bath Center - South Amir",
"openingYear": 2021
}
]