Menu Docs

cursor.addOption()

cursor.addOption(flag)

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 legado do shell mongo . No entanto, alguns métodos legado 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 da API do MongoDB, consulte a documentação do driver do MongoDB específica do idioma.

Observação

Descontinuado desde a v3.2

A partir de v3.2, o operador cursor.addOption() é preterido em mongosh. Em mongosh, use os métodos de cursor disponíveis.

Usado para alterar o comportamento da query definindo os sinalizadores listados abaixo.

O método cursor.addOption() tem o seguinte parâmetro:

Parâmetro
Tipo
Descrição

flag

flag

OP_QUERY sinalizador de protocolo de conexão . Para mongosh, você pode usar os sinalizadores de cursor listados abaixo. Para obter a lista específica de drivers, consulte a documentação do driver.

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

Importante

Este comando tem suporte limitado em M0, M2, M5 e M10+ clusters. Para obter mais informações, 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

mongosh fornece vários sinalizadores de cursor adicionais para modificar o comportamento do cursor.

bandeira
Descrição
DBQuery.Option.tailable

Define o cursor para não fechar assim que os últimos dados forem recebidos, permitindo que a query continue retornando dados adicionados após os resultados iniciais se esgotarem.

DBQuery.Option.slaveOk

Permite a query de uma réplica escrava.

DBQuery.Option.noTimeout

Impede que o servidor atinja o tempo limite de cursores ociosos.

DBQuery.Option.awaitData

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.

DBQuery.Option.exhaust

Define o cursor para retornar todos os dados retornados pela query de uma só vez, em vez de dividir os resultados em lotes.

DBQuery.Option.partial

Define o cursor para retornar dados parciais de uma query em um cluster fragmentado no qual alguns shards não respondem em vez de lançar um erro.

O exemplo a seguir adiciona o sinalizador DBQuery.Option.tailable e o sinalizador DBQuery.Option.awaitData para garantir que a query retorne um cursor persistente. A sequência cria um cursor. Depois de retornar o conjunto completo de resultados, ele aguarda o intervalo padrão de 1000 milissegundos para poder capturar e retornar dados adicionais adicionados durante a query:

var t = db.myCappedCollection;
var cursor = t.find().addOption(DBQuery.Option.tailable).
addOption(DBQuery.Option.awaitData)

Aviso

Adicionar sinalizadores de protocolo de conexão incorretos pode causar problemas e/ou carga extra do servidor.