Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
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 por defecto en milisegundos para que se completen las operaciones individuales de lectura. Si una query especifica una opción maxTimeMS(), ese valor reemplazará el valor defaultMaxTimeMS.

defaultMaxTimeMS se aplica a las siguientes operaciones de lectura:

Para modificar los parámetros del clúster, se debe autenticar 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" } )

Por defecto, defaultMaxTimeMS.readOperations es 0, lo que significa que no se establece un tiempo de espera predeterminado para la query. Si no hay un tiempo de espera de query predeterminado, la query se ejecuta hasta que se devuelva un resultado o se produzca un error.

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

Si su implementación necesita ejecutar consultas largas, como consultas nodo de análisis, debes especificar un tiempo de espera para esas consultas a nivel de operación utilizando maxTimeMS(). Si no especificas un tiempo de espera de operación, esas consultas usarán el tiempo de espera defaultMaxTimeMS 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 maxTimeMS(), que sobrescribe el defaultMaxTimeMS y provoca que la consulta agote el tiempo de espera después de 8,000 milisegundos.

Volver

changeStreamOptions

En esta página