Definición
$skipOmite el número especificado de documentos que pasan a la etapa y pasa los documentos restantes a la siguiente etapa del pipeline.
La etapa
$skiptiene la siguiente forma de prototipo:{ $skip: <positive 64-bit integer> } $skiptoma un entero positivo que especifica el número máximo de documentos a omitir.Nota
A partir de MongoDB.5 0, el pipeline de agregación tiene
$skipun límite de enteros de 64 bits. Los valores que se pasan al pipeline y que exceden este límite devolverán un error de argumento no válido.
Comportamiento
Usar $skip con resultados ordenados
Si utilizas la etapa $skip con cualquiera de:
la etapa de agregación
$sort,el método
sort(), oel campo
sortal comandofindAndModifyo al método de shellfindAndModify(),
asegurarse de incluir al menos un campo en la ordenación que contenga valores únicos, antes de pasar los resultados a la etapa $skip.
La ordenación de campos que contienen valores duplicados puede devolver un orden de clasificación diferente para esos campos duplicados en múltiples ejecuciones, especialmente cuando la colección está recibiendo escrituras de forma activa.
La forma más sencilla de garantizar la coherencia de ordenamiento es incluir el campo _id en la query de ordenación.
Consulte lo siguiente para obtener más información sobre cada uno:
Ejemplos
Considera el siguiente ejemplo:
db.article.aggregate([ { $skip : 5 } ]);
Esta operación omite los primeros 5 documentos que le pasa el pipeline. $skip no tiene ningún efecto sobre el contenido de los documentos que pasa a través del pipeline.
Para usar el controlador MongoDB.NET/C# para agregar una $skip etapa a una canalización de agregación, llame a Skip()método en un PipelineDefinition objeto.
El siguiente ejemplo crea una etapa de canalización que omite los primeros cinco documentos en la entrada y pasa los documentos restantes a la siguiente etapa de la canalización:
var pipeline = new EmptyPipelineDefinition<Movie>() .Skip(5);
Para utilizar el controlador de MongoDB Node.js para agregar una etapa de $skip a una canalización de agregación, utilice el Operador $skip en un objeto de canalización.
El siguiente ejemplo crea una etapa de canalización que omite los primeros cinco documentos de la colección de entrada y pasa los documentos restantes a la siguiente etapa. A continuación, el ejemplo ejecuta la canalización de agregación:
const pipeline = [{ $skip: 5 }]; const cursor = collection.aggregate(pipeline); return cursor;
Obtén más información
Para ver ejemplos completos de agregación que utilizan la etapa $skip, consulte los Tutoriales completos de la canalización de agregación.