Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Az $dateToString operátor egy dátumobjektum megadott formátumú sztringgé alakítására szolgál. Az aggregációs folyamatokban gyakran használják dátummezők jelentési, lekérdezési vagy megjelenítési célokra való formázására. Ez az operátor rendkívül sokoldalú, és lehetővé teszi egyéni dátumformátumok meghatározását.
Szemantika
{
$dateToString: {
format: "<format_string>",
date: <date_expression>,
timezone: "<timezone>",
onNull: "<replacement_value>"
}
}
Paraméterek
| Paraméter | Description |
|---|---|
format |
A kimeneti dátum formátumát meghatározó sztring. |
date |
A formázandó dátumkifejezés. |
timezone |
(Nem kötelező) Az időzónát meghatározó sztring. Alapértelmezés szerint UTC, ha nincs megadva. |
onNull |
(Nem kötelező) Visszaadandó érték, ha a date mező hiányzik vagy hiányzik null . |
Formázási definiálók
| Szimbólum | Meaning |
|---|---|
%Y |
Év (négy számjegy) |
%m |
Hónap (két számjegy) |
%d |
Hónap napja (két számjegy) |
%H |
Óra (24 órás, két számjegy) |
%M |
Perc (két számjegy) |
%S |
Második (két számjegy) |
%L |
Ezredmásodperc (három számjegy) |
Példák
Tekintse át ezt a mintadokumentumot az áruházak gyűjteményéből.
{
"_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
}
]
}
]
}
1. példa: Dátummező formázása ISO-szerű sztringre
Ez a lekérdezés operátorral $dateToString formázza az lastUpdated időbélyeget sztringgé YYYY-MM-DD . Segít a dátumok olvasható formátumban való megjelenítésében, amely alkalmas a naplók, jelentések vagy felhasználói felület megjelenítésére.
db.stores.aggregate([
{
$match: { _id: "e6410bb3-843d-4fa6-8c70-7472925f6d0a" }
},
{
$project: {
_id: 0,
formattedDate: {
$dateToString: {
format: "%Y-%m-%d",
date: "$lastUpdated"
}
}
}
}
])
Ez a lekérdezés a következő eredményt adja vissza.
[
{
"formattedDate": "2024-12-04"
}
]
2. példa: Null értékek kezelése
Ez a lekérdezés sztringként lastUpdated_newformázza a nem létező mező YYYY-MM-DD időbélyegét$dateToString. Figyelembe véve, hogy a dátum hiányzik vagy null, az onNull beállításon keresztül a "Nincs elérhető dátum" tartalék sztringet helyettesíti.
db.stores.aggregate([
{
$match: { _id: "e6410bb3-843d-4fa6-8c70-7472925f6d0a" }
},
{
$project: {
_id: 0,
formattedDateOrDefault: {
$dateToString: {
format: "%Y-%m-%d",
date: "$lastUpdated_new", // field doesn't exist
onNull: "No date available"
}
}
}
}
])
Ez a lekérdezés a következő eredményt adja vissza.
[
{
"formattedDateOrDefault": "No date available"
}
]
Kapcsolódó tartalom
- Tekintse át a MongoDB-ből az Azure DocumentDB-be való migrálás lehetőségeit.
- További információ a MongoDB-vel való funkciókompatibilitásról.