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

This page documents a mongosh method. This is not the documentation for a language-specific driver, such as Node.js.

Para los drivers de API de MongoDB, consulte la documentación del driver de MongoDB específica del lenguaje.

Append readPref() to a cursor to control how the client routes the query to members of the replica set.

Nota

You must apply readPref() to the cursor before retrieving any documents from the database.

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

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 }.

Las lecturas protegidas están disponibles para clústeres. Para usar lecturas protegidas, el mongos debe tener enabled support para lecturas protegidas (el valor por defecto) y las preferencias de lectura que no seanprimary deben permitir el uso de lecturas protegidas.

La preferencia de lectura nearest habilita el uso de lecturas protegidas en clústeres por defecto; es decir, por defecto, tiene { enabled: true }.

readPref() does not support the Read Preference maxStalenessSeconds option for read preference.

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

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

Nota

This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, see Unsupported Commands.

  • 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 la preferencia de lectura moda para dirigir la lectura hacia un secundario.

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

Para dirigir los secundarios con etiquetas específicas, incluye tanto el modo como el arreglo 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 fragmentados, puedes habilitar las lecturas protegidas para preferencias de lectura que no son primarias. Para utilizar lecturas protegidas, el mongos debe tener enabled support para lecturas protegidas (por defecto) y el preferencia de lectura que no seaprimary debe habilitar el uso de lecturas protegidas.

Para dirigir segundarios en clústeres usando lecturas protegidas, incluya tanto la moda como las hedgeOptions, 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