Definição
cursor.tailable()Importante
Método mongosh
Este é um método
mongosh. Esta não é a documentação deNode.jsou de outros métodos de driver específicos da linguagem de programação.Na maioria dos casos, os métodos
mongoshfuncionam da mesma forma que os métodos legado do shellmongo. No entanto, alguns métodos legado não estão disponíveis emmongosh.Para a documentação do shell legado
mongo, consulte a documentação para a release correspondente do MongoDB Server:Para drivers da API do MongoDB, consulte a documentação do driver do MongoDB específica do idioma.
Marca o cursor como rastreável , 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çãoawaitDatabooleano
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
maxTimeMSestiver definido no comando que criou o cursor, o tempo limite paraawaitDataserá o tempo restante. Caso contrário, o tempo limite padrão é 1000 milissegundos.Você pode definir um timeout ao executar
getMoreem um cursor comawaitDataativado.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.