startSession
Definição
startSession
O comando
startSession
inicia uma novasessão lógica para uma sequência de operações.Dica
Em
mongosh
, esse comando também pode ser executado por meio do método auxiliarMongo.startSession()
.Os métodos auxiliares são práticos para os usuários
mongosh
, mas podem não retornar o mesmo nível de informações que os comandos do banco de dados. Nos casos em que a praticidade não for necessária ou os campos de retorno adicionais forem necessários, use o comando de banco de dados.
Compatibilidade
Esse comando está disponível em implantações hospedadas nos seguintes ambientes:
MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
Observação
Este comando é aceito em todos os clusters do MongoDB Atlas. Para obter informações sobre o suporte do Atlas a todos os comandos, consulte Comandos não suportados.
MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB
MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB
Sintaxe
O comando tem a seguinte sintaxe:
db.runCommand( { startSession: 1 } )
Para executar startSession
, utilize o método db.runCommand( { <command> } )
.
db.runCommand( { startSession: 1 } )
Importante
featureCompatibilityVersion
deve ser 3.6 ou superior para usar o comando startSession
.
Comportamento
Se o sistema impuser autenticação/autorização, você deverá estar autenticado para executar o comando startSession
. O usuário que executa startSession
é proprietário da sessão criada e somente esse usuário pode usar a sessão.
Se a implantação não impor autenticação/autorização, uma sessão criada não terá proprietário e poderá ser usada por qualquer usuário em qualquer conexão. Se o usuário autenticar e criar uma sessão para uma implantação que não imponha autenticação/autorização, ele será o proprietário da sessão. No entanto, qualquer usuário em qualquer conexão pode usar a sessão.
Se a implantação fizer a transição para a autenticação sem nenhum tempo de inatividade, as sessões sem proprietário não poderão ser usadas.
Uma sessão só pode ser usada com o objeto MongoClient
que criou a sessão. Uma única sessão não pode ser usada simultaneamente. As operações que usam uma única sessão devem ser executadas sequencialmente.
Saída
Além do status e do optime do comando, o startSession
retorna as seguintes informações específicas da sessão:
Campo | Tipo | Descrição | |
---|---|---|---|
id | Documento | O documento que contém a parte do Identificador Universalmente Único (UUID) de 16 bytes do identificador da sessão.
O identificador da sessão consiste neste UUID concatenado com o hash das credenciais do usuário autenticado. | |
timeoutMinutes | número | A quantidade de tempo, em minutos, desde o último cliente que usou uma sessão para permanecer ativa antes de expirar. Por padrão, as sessões têm um tempo limite de expiração de 30 minutos. Para alterar o valor, defina o parâmetro |