Docs Menu
Docs Home
/ /
Operadores de tuberías de agregación

$isoWeekYear (operador de expresión)

$isoWeekYear

Devuelve el número del año en formato ISO 8601. El año comienza el lunes de la semana 1 y termina el domingo de la última semana.

La expresión tiene lo $isoWeekYear siguiente Sintaxis de expresión del operador:

{ $isoWeekYear: <dateExpression> }

El argumento puede ser:

  • Una expresión que se resuelve en una fecha, una marca de tiempo o un ObjectID.

  • Un documento con este formato:

    { date: <dateExpression>, timezone: <tzExpression> }
    Campo
    Descripción

    date

    La fecha a la que se aplica el operador. <dateExpression> debe ser una expresión válida que se resuelva en una fecha, una marca de tiempo o un ObjectID.

    timezone

    Optional. La zona horaria del resultado de la operación. <tzExpression> debe ser una expresión válida que se resuelva en una cadena formateada como un identificador de zona horaria de Olsono una diferencia UTC. Si no timezone se proporciona, el resultado se muestra UTC en.

    Formato
    Ejemplos

    Olson Timezone Identifier

    "America/New_York"
    "Europe/London"
    "GMT"

    UTC Offset

    +/-[hh]:[mm], e.g. "+04:45"
    +/-[hh][mm], e.g. "-0530"
    +/-[hh], e.g. "+03"
Ejemplo
Resultado
{ $isoWeekYear: new Date("2015-05-26") }

2015

{ $isoWeekYear: { date: new Date("Jan 7, 2003") } }

2003

{ $isoWeekYear: ISODate("2017-01-02T00:00:00Z") }

2017

{ $isoWeekYear: {
date: ISODate("2017-01-02T00:00:00Z"),
timezone: "-0500"
} }

2016

{ $isoWeekYear: {
date: new Date("April 08, 2024"),
timezone: "America/Chicago"
} }

2024

{ $isoWeekYear: "March 28, 1976" }

error

{ $isoWeekYear: Date("2016-01-01") }

error

{ $isoWeekYear: "2009-04-09" }

error

Nota

$isoWeekYear no puede tomar una cadena como argumento.

Una colección llamada anniversaries contiene los siguientes documentos:

{ "_id" : 1, "date" : ISODate("2016-01-01T00:00:00Z") }
{ "_id" : 2, "date" : ISODate("2016-01-04T00:00:00Z") }
{ "_id" : 3, "date" : ISODate("2015-01-01T00:00:00Z") }
{ "_id" : 4, "date" : ISODate("2014-04-21T00:00:00Z") }

La siguiente operación devuelve el número de año en formato ISO 8601 para cada campo date.

db.anniversaries.aggregate( [
{
$project: {
yearNumber: { $isoWeekYear: "$date" }
}
}
] )

La operación devuelve los siguientes resultados:

{ "_id" : 1, "yearNumber" : 2015 }
{ "_id" : 2, "yearNumber" : 2016 }
{ "_id" : 3, "yearNumber" : 2015 }
{ "_id" : 4, "yearNumber" : 2014 }

Tip

Volver

$isoWeek

En esta página