Docs Menu
Docs Home
/ /

$segundo (agregación)

$second

Devuelve la segunda parte de una fecha como un número entre 0 y 59, pero puede ser 60 para tener en cuenta los segundos intercalares.

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

{ $second: <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

    Opcional. La zona horaria del resultado de la operación. <tzExpression> debe ser una expresión válida que se resuelva en una cadena con el formato de identificador de zona horaria de Olson.o una diferencia horaria UTC. Si no timezone se proporciona, el resultado se expresa 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
{ $second: new Date("2012-11-06T00:14:20") }

20

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

0

{ $second: {
date: new Date("August 14, 2011"),
timezone: "America/Chicago"
} }

0

{ $second: ISODate("1998-11-07T00:00:42Z") }

42

{ $second: {
date: ISODate("1998-11-07T00:00:09Z"),
timezone: "+0530"
} }

9

{ $second: "March 28, 1976" }

error

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

error

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

error

Nota

$second no puede tomar una string como argumento.

Considere una colección sales con el siguiente documento:

db.sales.insertOne(
{
"_id" : 1,
"item" : "abc",
"price" : 10,
"quantity" : 2,
"date" : ISODate("2014-01-01T08:15:39.736Z")
}
)

La siguiente agregación utiliza y otras expresiones de fecha para desglosar $second el date campo:

db.sales.aggregate(
[
{
$project:
{
year: { $year: "$date" },
month: { $month: "$date" },
day: { $dayOfMonth: "$date" },
hour: { $hour: "$date" },
minutes: { $minute: "$date" },
seconds: { $second: "$date" },
milliseconds: { $millisecond: "$date" },
dayOfYear: { $dayOfYear: "$date" },
dayOfWeek: { $dayOfWeek: "$date" },
week: { $week: "$date" }
}
}
]
)

La operación devuelve el siguiente resultado:

{
"_id" : 1,
"year" : 2014,
"month" : 1,
"day" : 1,
"hour" : 8,
"minutes" : 15,
"seconds" : 39,
"milliseconds" : 736,
"dayOfYear" : 1,
"dayOfWeek" : 4,
"week" : 0
}

Volver

$sampleRate

En esta página