No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

13 Días
21 Hrs
31 Min
42 Seg

Sort, limit y skip

28/30
Recursos

Aportes 7

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

  1. .sort() => para ordenar los doc, con un 1 de menor a mayor o de la A a la Z y con un -1 al contrario ( 10-0, Z-A).

  2. .limit() => Limita la cantidad de doc que queremos traer, ej: .limit(3) trae 3 docs.

  3. .skip() => indica desde que posición nos traera los doc, ej: en una lista del 1 al 10; .skip(3) nos da los doc desde el 4 hasta el 10.

El skip es basicamente un como hacer un offset.

Aplicando varias cositas que hemos aprendido

// sort sirve para organizar los documentos ASC o DESC
// "1" organiza los datos ASC
// "-1" organiza los datos DESC
// limit : seria como el top en SQL server
// projection son las variables a visualizar
db.zips
.find({ pop: {  $gte: 200 ,
                $lte: 555}
    })
.sort({pop: -1})
.limit(50)
.projection({ pop: 1,
            city: 1,
            _id: 0
})
La parte de entender como funciona el paginador ha sido de la parte que mas me llevo es fundamental para etender como funciona un paginador en las apis
Sort, limit y skip, funcionan tanto como métodos, como etapas de agregación. Los métodos son como los vistos en clase con la sintaxis: `db.collection.find().sort()` cada uno también se comporta como una etapa de agregación ```js use("sample_training") db.zips.aggregate( [ { $match: { pop: { $gte: 100 } }}, { $sort: { pop: 1}}, { $limit: 5 }, { $skip: 2 } ] ) ```
```js // los 3 mejores artilleros de la temporada use('football'); db.scorers.aggregate([ { $sort: { goles: -1 } }, { $limit: 3 } ]); // out me permite guardar el resultado de la consulta en una colección nueva // La liga mas goleadora, los mejores killers use('football'); db.scorers.aggregate([ { $match: { goles: { $gt: 20 } } }, { $group: { _id: "$torneo", total_goles: { $sum: "$goles" }, total_jugadores: { $sum: 1 } } }, { $out: "the_best_scorers" } ]); // Resultado use('football'); db.the_best_scorers.find().sort({total_goles: -1}) ```

Dato curioso:

.limit(0) => no da 0 documentos sino antes todos los documentos de la colección que cumplan las condiciones de la consulta.