Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

cursor.readPref() (método mongosh)

cursor.readPref(mode, tagSet, hedgeOptions)

Importante

Método mongosh

Esta página documenta un método mongosh. No se trata de la documentación de un controlador específico de un lenguaje, como Node.js.

Para obtener información sobre los controladores de la API de MongoDB, consulte la documentación del controlador de MongoDB específica del lenguaje.

Agregue readPref() a un cursor para controlar cómo el cliente enruta la consulta a los miembros del conjunto de réplicas.

Nota

Debe aplicar readPref() al cursor antes de recuperar cualquier documento de la base de datos.

Parameter
Tipo
Descripción

string

arreglo de documentos

opcional. Un conjunto de etiquetas utilizado para dirigir lecturas a los nodos con la(s) etiqueta(s) especificada(s). tagSet no está disponible si se utiliza primary.

Para obtener más detalles, consulte Listas de conjuntos de etiquetas de preferencias de lectura.

Documento

IMPORTANTE: a partir de MongoDB 8.0, las lecturas protegidas quedarán obsoletas. Las consultas que especifican la preferencia de lectura nearest ya no utilizan lecturas protegidas por defecto. Si especificas explícitamente una lectura protegida, MongoDB realiza una lectura protegida y registra una advertencia.

opcional. Un documento que especifica si debe habilitarse el uso de lecturas protegidas.

{ enabled: <boolean> }

El campo enabled por defecto es verdadero; es decir, especificar un documento vacío { } equivale a especificar { enabled: true }.

readPref() no admite la opción Preferencia de lectura maxStalenessSeconds para la preferencia de lectura.

Este método está disponible en implementaciones alojadas en los siguientes entornos:

  • MongoDB Atlas: El servicio totalmente administrado para implementaciones de MongoDB en la nube.

Nota

Este comando es compatible con todos los clústeres de MongoDB Atlas. Para obtener información sobre la compatibilidad de Atlas con todos los comandos, consulte Comandos no compatibles.

  • MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB

  • MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.

La siguiente operación utiliza el modo de preferencia de lectura para dirigir la lectura a un miembro secundario.

db.collection.find({ }).readPref( "secondary")

Para seleccionar etiquetas específicas para las solicitudes secundarias, incluya tanto el modo como la matriz 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 el proceso de selección de secundaria, MongoDB intenta encontrar primero los miembros secundarios con la etiqueta datacenter: "B".

  • Si se encuentra, MongoDB limita los secundarios elegibles a aquellos con la etiqueta datacenter: "B" y omite las etiquetas restantes.

  • Si no se encuentra ninguno, MongoDB intenta encontrar nodos secundarios con la etiqueta "region": "West".

    • Si se encuentra, MongoDB limita los secundarios elegibles a aquellos con la etiqueta "region": "West".

    • Si no se encuentra ninguno, MongoDB utiliza cualquier secundario elegible.

Ver Orden de coincidencia de etiquetas para más detalles.

Para clústeres particionados, puedes habilitar lecturas protegidas para la preferencia de lectura que no sea principal. Para usar lecturas protegidas, la mongos debe tener enabled support para lecturas protegidas (por defecto) y las preferencias de lectura no-primary deben permitir el uso de lecturas protegidas.

Para dirigir las operaciones secundarias a clústeres fragmentados mediante lecturas con cobertura, incluya tanto el modo como las opciones de cobertura, como en los siguientes ejemplos:

  • Sin un conjunto de etiquetas

    db.collection.find({ }).readPref(
    "secondary", // mode
    null, // tag set
    { enabled: true } // hedge options
    )
  • Con un conjunto de etiquetas

    db.collection.find({ }).readPref(
    "secondary", // mode
    [ { "datacenter": "B" }, { } ], // tag set
    { enabled: true } // hedge options
    )
Califique esta página