Para agentes de IA: um Ă­ndice de documentação estĂĄ disponĂ­vel em https://www.mongodb.com/pt-br/docs/llms.txt — as versĂ”es de markdown de todas as pĂĄginas estĂŁo disponĂ­veis anexando .md a qualquer caminho de URL.
Menu Docs

Listas de conjuntos de tags de read preference

Se um nĂł ou nĂłs do conjunto de rĂ©plicas estiverem associados a tags, vocĂȘ poderĂĄ especificar uma lista de conjuntos de marcaçÔes (array de conjuntos de marcaçÔes) na read preference para segmentar estes nĂłs.

Para configurar um membro com tags, defina members[n].tags como um documento que contenha o nome da tag e os pares de valores. O valor das tags deve ser uma string.

{ "<tag1>": "<string1>", "<tag2>": "<string2>",... }

Em seguida, vocĂȘ pode incluir uma lista de conjuntos de tags na preferĂȘncia de leitura para segmentar membros com tags. Uma lista de conjuntos de tags Ă© uma array de conjuntos de tags, em que cada conjunto de tags contĂ©m um ou mais pares de tags/valores.

[ { "<tag1>": "<string1>", "<tag2>": "<string2>",... }, ... ]

Para encontrar membros do conjunto de rĂ©plicas, o MongoDB tenta cada documento em sucessĂŁo atĂ© que uma correspondĂȘncia seja encontrada. Consulte Ordem de correspondĂȘncia de tags para obter detalhes.

Por exemplo, se um membro secundĂĄrio tiver o seguinte members[n].tags:

{ "region": "South", "datacenter": "A" }

Em seguida, as seguintes listas de conjuntos de tags podem direcionar operaçÔes de leitura para o secundårio mencionado anteriormente (ou outros membros com as mesmas tags):

[ { "region": "South", "datacenter": "A" }, { } ] // Find members with both tag values. If none are found, read from any eligible member.
[ { "region": "South" }, { "datacenter": "A" }, { } ] // Find members with the specified region tag. Only if not found, then find members with the specified datacenter tag. If none are found, read from any eligible member.
[ { "datacenter": "A" }, { "region": "South" }, { } ] // Find members with the specified datacenter tag. Only if not found, then find members with the specified region tag. If none are found, read from any eligible member.
[ { "region": "South" }, { } ] // Find members with the specified region tag value. If none are found, read from any eligible member.
[ { "datacenter": "A" }, { } ] // Find members with the specified datacenter tag value. If none are found, read from any eligible member.
[ { } ] // Find any eligible member.

Se a lista de conjuntos de tags contiver vĂĄrios documentos, o MongoDB tentarĂĄ cada documento em sucessĂŁo atĂ© que uma correspondĂȘncia seja encontrada. Assim que uma correspondĂȘncia for encontrada, esse conjunto de tags serĂĄ usado para localizar todos os membros correspondentes qualificados e os conjuntos de tags restantes serĂŁo ignorados. Se nenhum membro corresponder a nenhum dos conjuntos de tags, a operação de leitura retornarĂĄ com um erro.

Dica

Para evitar um erro se nenhum membro corresponder a qualquer uma das especificaçÔes de tag, vocĂȘ pode adicionar um documento vazio { } como o Ășltimo elemento da lista do conjunto de tags para ler qualquer membro elegĂ­vel.

Por exemplo, considere a seguinte lista de conjuntos de tags com trĂȘs conjuntos de tags:

[ { "region": "South", "datacenter": "A" }, { "rack": "rack-1" }, { } ]

Primeiro, MongoDB tenta encontrar membros marcados com "region": "South" e "datacenter": "A".

{ "region": "South", "datacenter": "A" }
  • Se um membro for encontrado, os conjuntos de tags restantes nĂŁo serĂŁo considerados. Em vez disso, o MongoDB usa este conjunto de tags para encontrar todos os membros elegĂ­veis.

  • Else, MongoDB tenta encontrar membros com as tags especificadas no segundo documento

    { "rack": "rack-1" }
    • Se um membro for encontrado marcado, o conjunto de tags restante nĂŁo serĂĄ considerado. Em vez disso, o MongoDB usa este conjunto de tags para encontrar todos os membros elegĂ­veis.

    • Else, o terceiro documento Ă© considerado.

      { }

      O documento vazio corresponde a qualquer membro qualificado.

As tags nĂŁo sĂŁo compatĂ­veis com o modo primary e, em geral, se aplicam somente ao selecionar um membro secundĂĄrio de um conjunto para uma operação de leitura. No entanto, o modo de leituranearest, quando combinado com uma lista de conjuntos de tags, seleciona o membro correspondente com a menor latĂȘncia de rede. Este membro pode ser primĂĄrio ou secundĂĄrio.

Modo
Notas

A lista de conjuntos de tags especificada sĂł se aplica se forem selecionados secundĂĄrios qualificados.

A lista de conjuntos de tags especificada sempre se aplica.

A lista de conjuntos de tags especificada sĂł se aplica se forem selecionados secundĂĄrios qualificados.

A lista de conjuntos de tags especificada se aplica à seleção de secundårios primårios ou elegíveis.

Para obter informaçÔes sobre a interação entre os modos e as listas de conjuntos de tags, consulte a documentação especĂ­fica do modo de preferĂȘncia de leitura.

Para obter informaçÔes sobre como configurar listas de conjuntos de tags, consulte o tutorial Configurar conjuntos de tags de conjunto de réplicas.