Ignorar resultados devolvidos
Nesta página
Visão geral
Use skip
para omitir documentos do início da lista de documentos devolvidos para uma operação de leitura. Você pode combinar o skip
com o classificar para omitir os resultados superiores (para ordem decrescente) ou inferiores (para ordem crescente) para uma consulta fornecida. Uma vez que a ordem dos documentos devolvidos não é garantida na ausência de uma classificação, usar skip
sem usar sort
omite documentos arbitrários.
Se o valor de skip
exceder o número de documentos correspondentes para uma consulta, essa consulta não retornará nenhum documento.
Documentos de amostra
Para acompanhar os exemplos deste guia, use o seguinte trecho de código para inserir documentos que descrevem frutas na coleção myDB.fruits
:
const myDB = client.db("myDB"); const myColl = myDB.collection("fruits"); await myColl.insertMany([ { "_id": 1, "name": "apples", "qty": 5, "rating": 3 }, { "_id": 2, "name": "bananas", "qty": 7, "rating": 1 }, { "_id": 3, "name": "oranges", "qty": 6, "rating": 2 }, { "_id": 4, "name": "avocados", "qty": 3, "rating": 5 }, ]);
Observação
Sua operação de query pode retornar uma referência a um cursor que contém documentos correspondentes. Para saber como examinar os dados armazenados no cursor, consulte a página Fundamentos do cursor.
Exemplo
No exemplo a seguir, consultamos a coleção com um filtro que corresponde a todos os documentos e passamos opções que especifica sort
e skip
comandos como opções de consulta. A opção de classificação especifica que os documentos com classificações mais altas devem ser retornados antes daqueles com classificações mais baixas. A opção ignorar especifica que os primeiros 2 documentos devem ser omitidos do resultado:
// define an empty query document const query = {}; const options = { // sort in descending (-1) order by rating sort : { rating: -1 }, // omit the first two documents skip : 2, } const cursor = myColl.find(query, options); for await (const doc of cursor) { console.dir(doc); }
Como especificamos que os primeiros 2
documentos devem ser ignorados, o terceiro e o quarto documentos com classificação mais alta são impressos pelo snippet de código acima:
{ "_id": 3, "name": "oranges", "qty": 6, "rating": 2 } { "_id": 2, "name": "bananas", "qty": 7, "rating": 1 }
As opções sort
e skip
também podem ser especificadas como métodos encadeados ao método find
. Os dois comandos a seguir são equivalentes:
myColl.find(query, { sort: { rating: -1}, skip: 2}); myColl.find(query).sort({rating: -1}).skip(2);