Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

startSession

Nesta página

  • Definição
  • Compatibilidade
  • Sintaxe
  • Comportamento
  • Saída
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 auxiliar Mongo.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.

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

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 .

Dica

Veja também:

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.

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.

id: { id: <UUID> }

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 localLogicalSessionTimeoutMinutes ao iniciar mongod. Para conjuntos de réplicas e clusters fragmentados, você deve especificar o mesmo valor em cada membro.

Voltar

refreshSessions