Definição
startSessionO comando
startSessioninicia 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 | |
|---|---|---|---|
| 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. | |
| 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 |