Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

cursor.limit()

Nesta página

  • Definição
  • Comportamento
cursor.limit()

Importante

Método mongosh

Esta página documenta um método mongosh. Esta não é a documentação de um driver de idioma específico, como Node.js.

Para drivers de API do MongoDB, consulte a documentação do driver do MongoDB específica da linguagem.

Use o método limit() em um cursor para especificar o número máximo de documentos que o cursor retornará. limit() é análogo à declaração LIMIT em um banco de dados SQL.

Observação

Você deve aplicar limit() ao cursor antes de recuperar quaisquer documentos do banco de dados.

Use limit() para maximizar o desempenho e impedir que o MongoDB retorne mais resultados do que o necessário para o processamento.

O método limit() tem a seguinte forma de protótipo:

db.collection.find(<query>).limit(<number>)

O comportamento de limit() é indefinido nos valores menores que -2 31 e maiores que 2 31.

Você deve especificar um valor numérico para limit().

Um valor limit() de 0 (ou seja, .limit(0)) é equivalente a não definir nenhum limite.

Um limite negativo é semelhante a um limite positivo, mas fecha o cursor após retornar um único lote de resultados. Dessa forma, com um limite negativo, se o conjunto limitado não couber em um único lote, o número de documentos recebidos será menor do que o limite especificado. Ao passar um limite negativo, o cliente indica ao servidor que não solicitará um lote subsequente via getMore.

Se estiver usando limit() com sort(), certifique-se de incluir pelo menos um campo em sua classificação que contenha valores exclusivos, antes de passar os resultados para limit().

A classificação em campos que contêm valores duplicados pode retornar uma ordem de classificação inconsistente 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 Classificação consistente com o método sort() para obter mais informações.

Quando você encadeia skip() e limit(), a ordem de encadeamento do método não afeta os resultados. O servidor sempre aplica a operação de ignorar com base na ordem de classificação antes de aplicar o limite de quantos documentos retornar.

O exemplo de código a seguir mostra diferentes ordens de encadeamento para skip() e limit() que sempre produzem os mesmos resultados de consulta para o mesmo conjunto de dados:

db.myColl.find().sort({_id: 1}).skip(3).limit(6);
db.myColl.find().sort({_id: 1}).limit(6).skip(3);

Voltar

cursor.itcount