Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

Sessões do servidor

Nesta página

  • Visão geral
  • Opções de comando
  • Comandos de sessões
  • Sessões e controle de acesso

As sessões de servidor do MongoDB, ou sessões lógicas, são a estrutura subjacente usada por sessões de cliente para oferecer suporte à Consistência Causal e gravações repetíveis.

Importante

Os aplicativos usam sessões do cliente para interagir com sessões do servidor.

As sessões de servidor estão disponíveis apenas para conjuntos de réplica e clusters fragmentados.

A partir da versão 3.6, os drivers MongoDB associam todas as operações a uma sessão do servidor, com exceção de gravações não reconhecidas. As seguintes opções estão disponíveis para todos os comandos para suportar a associação com uma sessão do servidor:

Importante

mongosh e os drivers atribuem essas opções aos comandos da sessão.

Opção
Tipo
Descrição
lsid
Documento
O documento que especifica o ID exclusivo da sessão associada ao comando. Se txnNumber for especificado, lsid será obrigatório.
txnNumber
Inteiro de 64 bits

Um número não negativo estritamente crescente que identifica exclusivamente o comando na sessão do comando.

Se especificado, o comando também deverá incluir a opção lsid .

Para os comandosdelete, inserte update que usam uma array de instruções, a seguinte opção também está disponível:

Importante

Não defina manualmente stmtIds. O MongoDB define a stmtIds para ser estritamente números não negativos crescentes.

Opção
Tipo
Descrição
stmtIds
array de inteiros de 32 bits
Array de números que identificam exclusivamente suas respectivas operações de escrita dentro do comando de escrita.

Os seguintes comandos podem ser usados para listar, gerenciar e matar sessões de servidor em clusters MongoDB:

Comandos
Descrição
Expira sessões de servidor especificadas.
Mata todas as sessões do servidor.
Elimina todas as sessões do servidor que correspondem ao padrão especificado.
Mata sessões de servidor especificadas.
Atualiza sessões de servidor ociosas.
Inicia uma nova sessão de servidor.

Se a implantação impor autenticação/autorização, o usuário deverá ser autenticado para iniciar uma sessão, e somente esse usuário poderá usar a sessão.

Para usar Client Sessions e Causal Consistency Guarantees com usuários de autenticação $external (usuários Kerberos, LDAP ou x.509), os nomes de usuário não podem ter mais de 10k bytes.

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 um usuário autenticar e criar uma sessão para uma implantação que não imponha autenticação/autorização, esse usuário 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.

Dica

Veja também:

← $bit