Docs Menu
Docs Home
/ /

defaultMaxTimeMS

defaultMaxTimeMS

Nuevo en la versión 8.0.

Disponible para ambos mongod y.mongos

Especifica un límite de tiempo predeterminado en milisegundos para que se completen las operaciones de lectura individuales. Si una consulta especifica la opción, ese valor anula maxTimeMS() el defaultMaxTimeMS valor.

defaultMaxTimeMS se aplica a las siguientes operaciones de lectura:

Para modificar los parámetros del clúster, debe autenticarse como un usuario que tenga uno de los siguientes roles:

Para configurar defaultMaxTimeMS para su implementación, ejecute el siguiente comando en la base de datos admin:

db.adminCommand(
{
setClusterParameter: {
defaultMaxTimeMS: { readOperations: <value> }
}
}
)

Para ver el valor actual de defaultMaxTimeMS, ejecute el siguiente comando en la base de datos admin:

db.adminCommand( { getClusterParameter: "defaultMaxTimeMS" } )

De forma predeterminada, defaultMaxTimeMS.readOperations es 0, lo que significa que no hay un tiempo de espera de consulta predeterminado. Si no hay un tiempo de espera de consulta predeterminado, la consulta se ejecuta hasta que devuelva un resultado o falle.

Si una consulta especifica una opción, ese valor anula maxTimeMS() el defaultMaxTimeMS valor.

Si su implementación necesita ejecutar consultas largas, como Para las consultas del nodo de análisis, debe especificar un tiempo de espera para dichas consultas a nivel de operación maxTimeMS() mediante. Si no especifica un tiempo de espera de operación, dichas consultas utilizarán el defaultMaxTimeMS tiempo de espera y no se ejecutarán durante el tiempo requerido.

El siguiente comando establece el tiempo de espera de consulta predeterminado en 5000 milisegundos:

db.runCommand( {
setClusterParameter: {
defaultMaxTimeMS: { readOperations: 5000 }
}
} )

Para comprobar el valor de defaultMaxTimeMS, ejecute el siguiente comando:

db.adminCommand( { getClusterParameter: "defaultMaxTimeMS" } )
{
"clusterParameters" : [
{
"_id" : "defaultMaxTimeMS",
"clusterParameterTime" : Timestamp(1711564868, 17),
"readOperations" : Long(5000)
}
],
"ok" : 1,
"$clusterTime" : {
"clusterTime" : Timestamp(1712161244, 1),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : Long(0)
}
},
"operationTime" : Timestamp(1712161244, 1)
}

Después de configurar defaultMaxTimeMS para su implementación, considere estas consultas:

db.test.find( { name: "Carol" } )
db.test.find( { name: "Carol" } ).maxTimeMS( 8000 )

La primera consulta utiliza el valor defaultMaxTimeMS de 5,000 milisegundos.

La segunda consulta especifica, que maxTimeMS() anula defaultMaxTimeMS y hace que la consulta expire después 8 de,000 milisegundos.

Volver

cambiarOpcionesDeTransmisión

En esta página