noCursorTimeout() (Desativar Timeout de Cursor)

Última atualização: 2026-10-09

noCursorTimeout() (Desativar Timeout de Cursor)

noCursorTimeout() desativa o timeout de inatividade do lado do servidor de um cursor: `db.users.find().noCursorTimeout()`. Por padrão, cursors inativos por mais de dez minutos são coletados; com esta flag um cursor pode viver muito — útil para consumidores lentos de grandes lotes. Atenção: cursors de longa duração seguram recursos do servidor, então feche-os com close() manualmente ao terminar para evitar vazamentos.

CategoriaCursor
Versão do MongoDB1.0+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

db.<collection>.find(<filter>).noCursorTimeout()

Retorno:O cursor com o timeout desativado (encadeável).

▶ Exemplo

Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):

// noCursorTimeout: caminhada de longa duração em uma coleção grande
const cursor = db.logs.find().noCursorTimeout().batchSize(100)
cursor.forEach(doc => processDoc(doc))
cursor.close()

Saída:

(iteração concluída, sem saída)

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QQual é o timeout padrão de cursor?
AO servidor coleta cursors inativos após dez minutos; noCursorTimeout() desativa isso.
QCom o que devo me preocupar ao usar noCursorTimeout?
ASempre feche o cursor com close() ao terminar ou ao sair cedo, ou os recursos do servidor vazarão.
QQuando preciso de noCursorTimeout?
AEm trabalhos em lote lentos que podem rodar mais de dez minutos por cursor, como limpar milhões de documentos um a um.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%