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.
ANWENDBAR AUF:
MongoDB-vCore
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 Operator $year
lautet wie folgt:
{
$year: <dateExpression>
}
Oder mit Zeitzonenspezifikation:
{
$year: {
date: <dateExpression>,
timezone: <timezoneExpression>
}
}
Die Parameter
BESCHREIBUNG | |
---|---|
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. "Amerika/New_York") oder ein UTC-Offset (z. B. "+0530") sein. |
Beispiel
Lassen Sie uns die Verwendung mit BEISPIEL-JSON aus dem stores
Dataset verstehen.
{
"_id": "905d1939-e03a-413e-a9c4-221f74055aac",
"name": "Trey Research | Home Office Depot - Lake Freeda",
"location": { "lat": -48.9752, "lon": -141.6816 },
"staff": { "employeeCount": { "fullTime": 12, "partTime": 19 } },
"sales": {
"salesByCategory": [ { "categoryName": "Desk Lamps", "totalSales": 37978 } ],
"revenue": 37978
},
"promotionEvents": [
{
"eventName": "Crazy Deal Days",
"promotionalDates": {
"startDate": { "Year": 2023, "Month": 9, "Day": 27 },
"endDate": { "Year": 2023, "Month": 10, "Day": 4 }
},
"discounts": [
{ "categoryName": "Desks", "discountPercentage": 22 },
{ "categoryName": "Filing Cabinets", "discountPercentage": 23 }
]
}
],
"company": "Trey Research",
"city": "Lake Freeda",
"storeOpeningDate": "2024-12-30T22:55:25.779Z",
"lastUpdated": { "t": 1729983325, "i": 1 }
}
Beispiel 1: Extrahieren des Jahres aus dem Store-Eröffnungsdatum
Im Beispiel wird das Jahr extrahiert, 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" } }
}
}
])
Die Abfrage gibt das Jahr zurück, in dem der Speicher geöffnet wurde.
{
"_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
In diesem Beispiel werden alle Speicher gefunden, die in einem bestimmten Jahr geöffnet wurden.
db.stores.aggregate([
{
$match: {
$expr: {
$eq: [{ $year: { $toDate: "$storeOpeningDate" } }, 2021]
}
}
},
{
$project: {
name: 1,
city: 1,
openingYear: { $year: { $toDate: "$storeOpeningDate" } },
storeOpeningDate: 1
}
}
])
Die Abfrage gibt Speicher zurück, die 2021 geöffnet wurden.
{
"_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
}
Verwandte Inhalte
- Prüfen Sie die Optionen für die Migration von MongoDB zu Azure Cosmos DB for MongoDB (virtueller Kern).
- Erfahren Sie mehr über die Featurekompatibilität mit MongoDB