Definição
$skipIgnora o número especificado de documentos que passam para o estágio e passa os documentos restantes para o próximo estágio no pipeline.
The
$skipstage has the following prototype form:{ $skip: <positive 64-bit integer> } $skiptira um número inteiro positivo que especifica o número máximo de documentos para ignorar.Observação
Starting in MongoDB 5.0, the
$skippipeline aggregation has a 64-bit integer limit. Values passed to the pipeline which exceed this limit will return a invalid argument error.
Comportamento
Utilizando $skip com Resultados Ordenados
If using the $skip stage with any of:
a fase de agregação
$sort,o método
sort(), ouo campo
sortao comandofindAndModifyou ao métodofindAndModify()shell,
be sure to include at least one field in your sort that contains unique values, before passing results to the $skip stage.
A classificação em campos que contêm valores duplicados pode retornar uma ordem de classificação diferente para esses campos duplicados em várias execuções, especialmente quando a coleção está recebendo gravações ativamente.
A maneira mais fácil de garantir consistência de classificação é incluir o campo _id em sua query de classificação.
Consulte o seguinte para obter mais informações sobre cada um deles:
Exemplos
Considere o seguinte exemplo:
db.article.aggregate([ { $skip : 5 } ]);
This operation skips the first 5 documents passed to it by the pipeline. $skip has no effect on the content of the documents it passes along the pipeline.
Os exemplos de C# nesta página utilizam o banco de dados sample_mflix a partir dos conjuntos de dados de amostra do Atlas. Para saber como criar um cluster MongoDB Atlas gratuito e carregar os conjuntos de dados de exemplo, consulte Introdução na documentação do driver MongoDB .NET/C#.
A seguinte classe Movie modela os documentos na collection sample_mflix.movies:
[] public class Movie { [] public ObjectId Id { get; set; } [] public string Title { get; set; } = null!; [] public int? Year { get; set; } [] public int? Runtime { get; set; } [] public string? Rated { get; set; } [] public int Metacritic { get; set; } [] public string? Plot { get; set; } [] public string? Type { get; set; } [] public string[]? Cast { get; set; } [] public string[]? Directors { get; set; } [] public string[]? Writers { get; set; } [] public ImdbData? Imdb { get; set; } }
Para usar o driver MongoDB .NET/C# para adicionar um estágio $skip a uma agregação pipeline, chame o método UnionWith() em um objeto PipelineDefinition.
O exemplo a seguir cria um estágio de pipeline que classifica os filmes por título e ID e ignora os primeiros 5 documentos:
var pipeline = new EmptyPipelineDefinition<Movie>() .Sort(Builders<Movie>.Sort .Ascending(m => m.Title) .Ascending(m => m.Id)) .Skip(5) .Limit(5);
Para usar o driver Node.js do MongoDB para adicionar um estágio $skip a um pipeline de agregação , use o operador $skip em um objeto de pipeline.
O exemplo a seguir cria uma fase no pipeline que ignora os cinco primeiros documentos da coleção de entrada e envia os documentos restantes para a próxima fase do pipeline. O exemplo em seguida executa o pipeline de agregação:
const pipeline = [{ $skip: 5 }]; const cursor = collection.aggregate(pipeline); return cursor;
Saiba mais
To see full aggregation examples that use the $skip stage, see the Complete Aggregation Pipeline Tutorials.