Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
Operadores de pipeline de agregación

$isoWeekYear (operador de expresión)

$isoWeekYear

Devuelve el número del año en formato ISO 8601. El año comienza con el lunes de la semana 1 y termina con 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 a 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 resuelva en una string formateada como identificador de zona horaria de Olson. Identificador de zona horaria de Olson o un Diferencia UTC. Si no se proporciona timezone, el resultado se muestra en UTC.

    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 string 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