Con MongoDB Sort puedes ordenar los do­cu­me­n­tos según ciertos criterios. La salida puede ser tanto en orden as­ce­n­de­n­te como en orden de­s­ce­n­de­n­te.

¿Qué es MongoDB Sort?

Utiliza el sistema gestor de bases de datos conocido como MongoDB para almacenar datos en forma de do­cu­me­n­tos en bases de datos. El comando MongoDB Create Database te servirá para crear una. Para una mejor visión de conjunto y un orden lógico, los archivos también pueden agruparse y ser indexados en co­le­c­cio­nes. El objetivo de este sistema no es solo almacenar los datos, sino también conseguir que estén di­s­po­ni­bles en cualquier momento. Para optimizar la salida de los datos, el sistema nos ofrece la función MongoDB Sort. Esta función permite alterar el orden de vi­sua­li­za­ción de los do­cu­me­n­tos, lo cual hace que los listados y las consultas sean aún más rápidos y eficaces.

Consejo

Puedes encontrar muchos más comandos en nuestro resumen de comandos de MongoDB.

Sintaxis y fu­n­cio­na­mie­n­to de MongoDB Sort

Al igual que MongoDB Find, MongoDB Sort es una función que uti­li­za­rás con fre­cue­n­cia cuando trabajes con bases de datos. También se pueden combinar las dos. La sintaxis básica es la siguiente:

db.collection_name.find().sort({field_name: sort_order})

Además del propio comando MongoDB Sort, que debe contener el nombre de la colección, hay otro parámetro. Dicho parámetro es un documento y determina el criterio por el que el sistema debe ordenar los do­cu­me­n­tos. También se determina la di­s­po­si­ción de la cla­si­fi­ca­ción ajustando el parámetro sort_order: El valor 1 re­pre­se­n­ta una di­s­po­si­ción as­ce­n­de­n­te y -1 establece una di­s­po­si­ción de­s­ce­n­de­n­te. Si no se define este valor, MongoDB Sort mostrará los do­cu­me­n­tos au­to­má­ti­ca­me­n­te en orden as­ce­n­de­n­te.

Ejemplos para MongoDB Sort

Descubre algunos ejemplos sencillos que te serán útiles para entender MongoDB Sort y sus diversos usos de mejor manera. Para ello, imagina una lista de clientes que, por comodidad, tiene tres entradas re­gi­s­tra­das y contiene in­fo­r­ma­ción sobre el nombre del cliente y el número de pedidos. Así se mostraría la lista sin orden alguno:

>db.lista_de_clientes.find()
{ _id : ObjectID ( "409f288c184f9132cd772c1" ), "name" : "García", "purchases" : 4 },
{ _id : ObjectID ( "409f288c184f9132cd772c2" ), "name" : "Balaguer", "purchases" : 1 },
{ _id : ObjectID ( "409f288c184f9132cd772c3" ), "name" : "Martínez", "purchases" : 2 }
>

Ordenar por nombre

Utiliza MongoDB Sort para mostrar la lista de clientes por orden al­fa­bé­ti­co. En nuestro ejemplo tendría el siguiente aspecto:

>db.lista_de_clientes.find().sort({name : 1})
{ _id : ObjectID ( "409f288c184f9132cd772c3" ), "name" : "Balaguer", "purchases" : 1 },
{ _id : ObjectID ( "409f288c184f9132cd772c1" ), "name" : "García", "purchases" : 4 },
{ _id : ObjectID ( "409f288c184f9132cd772c2" ), "name" : "Martínez", "purchases" : 2 }
>

Utiliza MongoDB Sort de la siguiente manera para mostrar los nombres en orden al­fa­bé­ti­co de­s­ce­n­de­n­te:

>db.lista_de_clientes.find().sort({name : -1})
{ _id : ObjectID ( "409f288c184f9132cd772c2" ), "name" : "Martínez", "purchases" : 2 },
{ _id : ObjectID ( "409f288c184f9132cd772c1" ), "name" : "García", "purchases" : 4 },
{ _id : ObjectID ( "409f288c184f9132cd772c3" ), "name" : "Balaguer", "purchases" : 1 }
>

Ordenar por pedidos

Si quieres ordenar tus clientes por la cantidad de pedidos que han hecho, empezando por los que más pedidos han hecho, utiliza MongoDB Sort de la siguiente manera:

>db.lista_de_clientes.find().sort({purchases : -1})
{ _id : ObjectID ( "409f288c184f9132cd772c3" ), "name" : "García", "purchases" : 4 },
{ _id : ObjectID ( "409f288c184f9132cd772c1" ), "name" : "Martínez", "purchases" : 2 },
{ _id : ObjectID ( "409f288c184f9132cd772c2" ), "name" : "Balaguer", "purchases" : 1 }
>
Ir al menú principal