cursor.tailable()
Nesta página
Definição
cursor.tailable()
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.
Marca o cursor como tailable , mantendo-o aberto mesmo quando o cliente esgota todos os resultados.
Para uso apenas em uma collection limitada . Usar
tailable()
em uma non- collection limitada retorna um erro.cursor.tailable()
usa a seguinte sintaxe:cursor.tailable( { awaitData : <boolean> } ) ~cursor.tailable()
tem o seguinte parâmetro:ParâmetroTipoDescriçãoawaitData
booleano
Opcional. Para uso com
DBQuery.Option.tailable
. Define o cursor para bloquear o thread de query quando nenhum dado estiver disponível e aguardar os dados por um tempo definido em vez de retornar imediatamente nenhum dado. O cursor não retornará dados somente se o tempo limite expirar.Por padrão, se
maxTimeMS
estiver definido no comando que criou o cursor, o tempo limite paraawaitData
será o tempo restante. Caso contrário, o tempo limite padrão é 1000 milissegundos.Você pode definir um timeout ao executar
getMore
em um cursor comawaitData
ativado.Padrão é
false
.Retorna: O cursor ao qual o ~cursor.tailable()
está anexado.
Compatibilidade
Esse método está disponível em implantações hospedadas nos seguintes ambientes:
MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
Observação
Este comando é aceito em todos os clusters do MongoDB Atlas. Para obter informações sobre o suporte do Atlas a todos os comandos, consulte Comandos não suportados.
MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB
MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB
Comportamento
Um cursor tailable executa uma varredura de collection em uma capped collection. Permanece aberto mesmo depois de chegar ao final da coleção. Os aplicativos podem continuar a iterar o cursor tailable à medida que novos dados são inseridos na coleta.
Se awaitData
for true
, quando o cursor atingir o final da capped collection, mongod
bloqueará o thread de query para o intervalo de tempo limite e aguardará a chegada de novos dados. Quando novos dados são inseridos na coleção limitada, mongod
sinaliza o thread bloqueado para ativar e retornar o próximo lote ao cliente.
Consulte Cursores rastreáveis.