$dateDiff
L'operatore $dateDiff
calcola la differenza tra due date in diverse unità, ad esempio anni, mesi, giorni e così via. È utile per determinare la durata tra due timestamp nel set di dati.
Sintassi
$dateDiff: {
startDate: <expression>,
endDate: <expression>,
unit: <string>,
timezone: <string>, // Optional
startOfWeek: <string> // Optional
}
Parametri
Descrizione | |
---|---|
startDate |
Data di inizio per il calcolo. |
endDate |
Data di fine per il calcolo. |
unit |
Unità di tempo per misurare la differenza. I valori validi includono: year , quarter month , week , day , hour , minute , second . millisecond |
timezone |
Facoltativo. Fuso orario da utilizzare per il calcolo. |
startOfWeek |
Facoltativo. Giorno iniziale della settimana. I valori validi sono: Sunday , Tuesday Monday , Wednesday , Thursday , , Friday , . Saturday |
Esempio
Calcolare la differenza in giorni tra le date di inizio e di fine degli eventi promozionali:
db.collection.aggregate([
{
$project: {
eventName: 1,
startDate: {
$dateFromParts: {
year: "$promotionEvents.promotionalDates.startDate.Year",
month: "$promotionEvents.promotionalDates.startDate.Month",
day: "$promotionEvents.promotionalDates.startDate.Day"
}
},
endDate: {
$dateFromParts: {
year: "$promotionEvents.promotionalDates.endDate.Year",
month: "$promotionEvents.promotionalDates.endDate.Month",
day: "$promotionEvents.promotionalDates.endDate.Day"
}
},
durationInDays: {
$dateDiff: {
startDate: {
$dateFromParts: {
year: "$promotionEvents.promotionalDates.startDate.Year",
month: "$promotionEvents.promotionalDates.startDate.Month",
day: "$promotionEvents.promotionalDates.startDate.Day"
}
},
endDate: {
$dateFromParts: {
year: "$promotionEvents.promotionalDates.endDate.Year",
month: "$promotionEvents.promotionalDates.endDate.Month",
day: "$promotionEvents.promotionalDates.endDate.Day"
}
},
unit: "day"
}
}
}
}
])
Contenuto correlato
- Revisionare le opzioni per eseguire la migrazione da MongoDB ad Azure Cosmos DB per MongoDB (vCore)
- Maggiori informazioni sulla compatibilità delle funzionalità con MongoDB