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

cursor.limit()

Nesta página

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

Importante

Método mongosh

Este é um método mongosh . Esta não é a documentação de Node.js ou de outros métodos de driver específicos da linguagem de programação.

Na maioria dos casos, os métodos mongosh funcionam da mesma forma que os métodos legados do shell mongo . No entanto, alguns métodos legados não estão disponíveis em mongosh.

Para a documentação do shell legado mongo, consulte a documentação para a release correspondente do MongoDB Server:

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

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. Assim, com um limite negativo, se o set limitado não se encaixar 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 ele 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

Próximo

cursor.map