Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De $dateFromParts operator maakt een datum van afzonderlijke onderdelen, zoals jaar, maand, dag, uur, minuut, seconde en milliseconden. Deze operator kan handig zijn bij het verwerken van gegevens waarin datumonderdelen afzonderlijk worden opgeslagen.
Syntaxis
{
$dateFromParts: {
year: < year > ,
month: < month > ,
day: < day > ,
hour: < hour > ,
minute: < minute > ,
second: < second > ,
millisecond: < millisecond > ,
timezone: < timezone >
}
}
Parameterwaarden
| Kenmerk | Description |
|---|---|
year |
Het jaaronderdeel van de datum. |
month |
Het maandonderdeel van de datum. |
day |
Het dagonderdeel van de datum. |
hour |
Het uurgedeelte van de datum. |
minute |
Het minuutgedeelte van de datum. |
second |
Het tweede onderdeel van de datum. |
millisecond |
Het onderdeel milliseconden van de datum. |
timezone |
Optional. Een tijdzonespecificatie. |
Voorbeelden
Bekijk dit voorbeelddocument uit de winkelverzameling.
{
"_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
}
]
}
]
}
Voorbeeld 1: Een begindatum maken
Met deze query worden nauwkeurige begindatum- en endDate-waarden uit geneste velden samengesteld met behulp van $dateFromParts, waarna de duur van de gebeurtenis in dagen wordt berekend. Het helpt bij het standaardiseren en analyseren van tijdlijnen voor gebeurtenissen die zijn opgeslagen in gefragmenteerde datumnotaties.
db.stores.aggregate([
{
$match: { _id: "e6410bb3-843d-4fa6-8c70-7472925f6d0a" }
},
{
$unwind: "$promotionEvents"
},
{
$project: {
_id: 1,
startDate: {
$dateFromParts: {
year: "$promotionEvents.promotionalDates.startDate.Year",
month: "$promotionEvents.promotionalDates.startDate.Month",
day: "$promotionEvents.promotionalDates.startDate.Day"
}
}
}
}
])
Deze query retourneert het volgende resultaat.
[
{
"_id": "e6410bb3-843d-4fa6-8c70-7472925f6d0a",
"startDate": "2024-09-21T00:00:00.000Z"
}
]
Verwante inhoud
- Bekijk de opties voor het migreren van MongoDB naar Azure DocumentDB.
- Lees meer over functiecompatibiliteit met MongoDB.