Definición
startSessionLa
startSessionel comando inicia una nueva 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 asistenteMongo.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.
Compatibilidad
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.
Sintaxis
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.
Comportamiento
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.
Salida
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 | |
|---|---|---|---|
| Documento | El documento que contiene la parte del Identificador único universal (UUID) de 16 bytes del identificador de la sesión. El identificador de la sesión consiste en este UUID concatenado con el hash de las credenciales autenticadas del usuario. | |
| 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 |