HOWTO · MongoDB

Ordenar por marca de tiempo en MongoDB

En la publicación de hoy, veremos muchos métodos para ordenar las marcas de tiempo en MongoDB.

En esta página

La publicación de hoy analizará muchos métodos para ordenar las marcas de tiempo en MongoDB.

Ordenar por marca de tiempo en MongoDB

El método sort() ordenará los documentos en MongoDB. El método acepta un documento con una lista de campos y el orden en que deben ordenarse.

1 y -1 especifican el orden de clasificación. Para orden ascendente, use 1; para el orden descendente, use -1.

Sintaxis:

db.collection_name.find().sort({ field_name : 1 | -1 })

En este caso, la colección en la que desea ejecutar la ordenación se especifica mediante el nombre_colección. El campo que debe clasificarse en orden ASC o DESC se especifica mediante field_name.

El método sort() mostrará las páginas en orden ascendente si no indica su orden de clasificación preferido. Una clasificación inestable produce un resultado diferente cada vez que se aplica al mismo conjunto de datos.

Utilizando índices, MongoDB puede localizar el resultado de la operación de clasificación. MongoDB realiza el algoritmo de clasificación top-k si el escaneo del índice no puede determinar el orden de clasificación.

Considere el siguiente ejemplo para ayudarlo a comprender mejor la idea anterior.

> db.employees.find().sort({ "joining_date" : -1 })

De acuerdo con sus fechas de ingreso en la colección de empleados, estamos clasificando a los empleados en el ejemplo anterior. La columna de fecha de incorporación realiza un seguimiento de la fecha de incorporación con formato ISO del empleado.

También puede usar _id porque tiene una marca de tiempo si desea ordenar según el campo created_at. Eso dará como resultado el mismo resultado.

> db.employees.find().sort({ "_id" : -1 })
or
> db.employees.find().sort({ "create_at" : -1 })

Ejecute la línea de código anterior en MongoShell, que es compatible con MongoDB. Mostrará el siguiente resultado:

{
  "_id" : ObjectId("54f612b6029b47919a90cesd"),
  "email" : "johndoe@exampledomain.com",
  "name" : "John Doe",
  "create_at" : "ISODate("2020-07-04T00:00:00Z")",
  "joining_date" : "ISODate("2020-07-04T00:00:00Z")"
}
{
  "_id" : ObjectId("54f612b6029b47919a97cesd"),
  "email" : "smithwarn@exampledomain.com",
  "name" : "Smith Warn",
  "create_at" : "ISODate("2020-04-28T00:00:00Z")",
  "joining_date" : "ISODate("2020-04-28T00:00:00Z")"
}
{
  "_id" : ObjectId("54f612b6029b47919a91cesd"),
  "email" : "jessicawill@exampledomain.com",
  "name" : "Jessica Will",
  "create_at" : "ISODate("2019-12-14T00:00:00Z")",
  "joining_date" : "ISODate("2019-12-14T00:00:00Z")"
}