Definição
cursor.readPref(mode, tagSet)
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.
Anexar
readPref()
a um cursor para controlar como o cliente roteia a query para membros do conjunto de réplicas.Observação
Você deve aplicar
readPref()
ao cursor antes de recuperar quaisquer documentos do banco de dados.
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
string | Um dos seguintes modos de preferência de leitura : | |
matriz de documentos | Opcional. Um conjunto de tags usado para direcionar leituras para membros com as tags especificadas. Para obter detalhes, consulte Listas de conjuntos de tags de read preference. |
readPref()
não é compatível com a opção preferência de leitura maxStalenessSeconds
.
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
Exemplos
Especificar modo de preferência de leitura
A seguinte operação utiliza o modo de read preference para direcionar a leitura para um nó secundário.
db.collection.find({ }).readPref( "secondary")
Especificar conjunto de tags de preferência de leitura
Para segmentar secundários com tags específicas, inclua a array mode e o tagSet:
db.collection.find({ }).readPref( "secondary", [ { "datacenter": "B" }, // First, try matching by the datacenter tag { "region": "West"}, // If not found, then try matching by the region tag { } // If not found, then use the empty document to match all eligible members ] )
Durante o processo de seleção secundário, o MongoDB tenta encontrar membros secundários com a tag datacenter: "B"
primeiro.
Se encontrado, o MongoDB limita os secundários elegíveis àqueles com a marcação
datacenter: "B"
e ignora as marcações restantes.Se nenhum for encontrado, o MongoDB tentará encontrar membros secundários com a tag
"region": "West"
.Se encontrado, o MongoDB limita os secundários elegíveis àqueles com a marcação
"region": "West"
.Se nenhum for encontrado, o MongoDB usará todos os secundários elegíveis.
Consulte Ordem da correspondência de tags para obter detalhes.