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
/ /
Sesiones

startSession (comando de base de datos)

startSession

El comando inicia una nueva operación startSession lógica. sesión para una secuencia de operaciones.

Tip

En mongosh, este comando también se puede ejecutar a través del método asistente Mongo.startSession().

Los métodos asistente son convenientes para usuarios de mongosh, pero es posible que no proporcionen el mismo nivel de información que los comandos de base de datos. En los casos en que no se necesite la conveniencia o se requieran campos de retorno adicionales, utiliza el comando de base de datos.

Este comando está disponible en implementaciones alojadas en los siguientes entornos:

  • MongoDB Atlas: El servicio totalmente gestionado 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 el soporte de Atlas para 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.

El comando tiene la siguiente sintaxis:

db.runCommand(
{
startSession: 1
}
)

Para ejecutar,startSession db.runCommand( { <command> } ) utilice el método.

db.runCommand(
{
startSession: 1
}
)

Importante

featureCompatibilityVersion debe ser 3.6 o superior para usar el comando startSession.

Si la implementación aplica autenticación/autorización, debes estar autenticado para ejecutar el comando startSession. El usuario que ejecuta startSession es el propietario de la sesión creada, y solo ese usuario puede usar la sesión.

Si la implementación no aplica la autenticación/autorización, una sesión creada no tiene propietario y puede ser usada por cualquier usuario en cualquier conexión. Si el usuario se autentica y crea una sesión para una implementación que no aplica la autenticación/autorización, el usuario es el propietario de la sesión. Sin embargo, cualquier usuario en cualquier conexión puede utilizar la sesión.

Si la implementación pasa a auth sin tiempo de inactividad, las sesiones sin propietario no se pueden usar.

Una sesión sólo se puede utilizar con el objeto MongoClient que la creó. Una sola sesión no se puede utilizar de forma simultánea. Las operaciones que utilizan una única sesión deben ejecutarse de forma secuencial.

Además del estado y el tiempo de operación del comando, devuelve startSession la siguiente información específica de la sesión:

Campo
Tipo
Descripción

id

Documento

El documento que contiene la parte del Identificador único universal (UUID) de 16 bytes del identificador de la sesión.

id: { id: <UUID> }

El identificador de la sesión consiste en este UUID concatenado con el hash de las credenciales autenticadas del usuario.

timeoutMinutes

Número

El tiempo, en minutos, que una sesión permanece activa antes de expirar desde el último uso del cliente. De forma predeterminada, las sesiones tienen un tiempo de expiración de 30 minutos. Para cambiar el valor, configure el localLogicalSessionTimeoutMinutes parámetro al iniciar. Para conjuntos de réplicas y clústeres fragmentados, debe especificar el mismo valor para todos los mongod miembros.

Volver

Actualizar sesiones

En esta página